mysql修改表有多種情況,如果要為一個表添加一個auto_increment 實現表自動整場,有一些問題是需要注意的,不然就會出現一些錯誤。
比如創建這樣一個表:
CREATE TABLE people ( peopleid SMALLINT NOT NULL, name CHAR(50) NOT NULL );
要實現mysql修改表,為peopleid添加一個auto_increment 讓它自動整長,開始mysql總是報1075錯誤;於是查了一下關於mysql 1075的錯誤,
錯誤:1075 SQLSTATE: 42000 (ER_WRONG_AUTO_KEY)
消息:不正確的表定義,只能有1個auto列,而且必須將其定義為主鍵。
原來需要先添加一個主鍵
alter table people add primary key (peopleid);
alter table people change peopleid peopleid smallint auto_increment;
這樣mysql修改表就成功了。
那麼,如果不添加主鍵, 還可不可以呢?
如果沒有主鍵的話,這樣也可以:
alter table people change peopleid peopleid smallint auto_increment unique;
這樣也是可以的,這裡應該有一個注意,剛開始的時候如果每次都沒有修改都沒有表明字段類型,就會一直報錯,切忌要聲明字段的類型。
以上就是mysql修改表實現自動整長時需要注意的問題。
mysql修改字段的語句寫法
詳解MySQL數據庫資源不足的異常錯誤
MySQL中多表刪除方法
詳解MySQL如何鏈接遠程SQL
MySQL集群簡介與配置詳解