MySQL添加刪除主鍵的方法

2010-10-15 13:34:17來源:作者:

mysql添加刪除主鍵操作是非;镜牟僮,下面就將教您mysql添加刪除主鍵的方法,如果您是剛剛接觸mysql數據庫的新人,不妨一看。

mysql添加刪除主鍵操作是非常基本的操作,下面就將教您mysql添加刪除主鍵的方法,如果您是剛剛接觸mysql數據庫的新人,不妨一看。

修改mysql的字符集:
在安裝mysql5.0時可以設置好mysql的字符集,一般使用utf8的字符集

1、查看建立表“tablename”的sql語句

Show create table tablename;//查看建立表“tablename”的sql語句
| maos_mail_batch | CREATE TABLE `maos_mail_batch` (
`ID` varchar(32) character set latin1 NOT NULL,
`BATCH_TIME` varchar(30) character set latin1 NOT NULL,
`BATCH_INTRODUCE` varchar(2000) character set latin1 default NULL,
`BATCH_SUM` int(11) default NULL,
`BATCH_STATE` varchar(1) character set latin1 default NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |

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列轉換過來時,并沒有發(fā)生轉換。

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;//刪除主建

以上就是mysql添加刪除主鍵的方法介紹。

關鍵詞:MySQL