天天看點

MySQL主鍵添加/删除

2改動資料庫和表的字元集

alter database maildb default character set utf8;//改動資料庫的字元集

alter table mailtable default character set utf8;//改動表的字元集

假設您想要把表預設的字元集和全部字元列(CHAR, VARCHAR, TEXT)改為新的字元集,應使用例如以下語句:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;

警告:前面的操作轉換了字元集之間的列類型。假設您有一列使用一種字元集(如latin1),可是存儲的值實際上使用了其他的字元集(如utf8),這種情況不是您想要的。此時,您必須對這種列進行下面操作。

ALTER TABLE t1 CHANGE c1 c1 BLOB;

ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;

這個方法能夠實作此功能的原因是,當您轉換到BLOB列或從BLOB列轉換過來時,并沒有發生轉換。

3 mysql的主鍵問題:

Mysql的兩種主鍵。Primary key 和not null auto_incriment

在建立mysql表時,給一個字段增加了主鍵primary key 

在insert資料時能夠不用insert主鍵,mysql會自己主動增加0,可是在第二次insert時沒有填寫值mysql資料庫還是預設增加0,會導緻有反複的主鍵,這是不能夠的。全部在定義了primary key時,在insert資料時要給主鍵填寫值。

在建立mysql表時,給一個字段增加了主鍵not null auto_increment=1;

這也是一個主鍵。時自增長的以1為開始。這個字段是能夠不用填寫值的,mysql資料庫會自己主動給填寫值,不會出現primary key的狀況。

Alter table tb add primary key(id);

Alter table tb change id id int(10) not null auto_increment=1;

4 删除自增長的主鍵id

先删除自增長在删除主鍵

Alter table tb change id id int(10);//删除自增長

Alter table tb drop primary key;//删除主建