mysql修改表为字段添加auto_increment

时间:2020-12-25 09:06:55

文章来源: http://hi.baidu.com/luzheng22/blog/item/67d5ab7fc7825b0f28388add.html

 

比如我创建这样一个表

CREATE TABLE people ( peopleid SMALLINT NOT NULL, name CHAR(50) NOT NULL );

我要为peopleid添加一个auto_increment 让他自动整长,开始mysql总是报1075错误;于是查了一下关于mysql 1075的错误,

错误:1075 SQLSTATE: 42000 (ER_WRONG_AUTO_KEY)

消息:不正确的表定义,只能有1auto列,而且必须将其定义为 键。

这是才明白 原来需要先添加一个主键

alter table people add primary key (peopleid);

alter table people change peopleid peopleid smallint auto_increment;

这样就成功了

那么,如果我们不添加主键呢?? 是不是就不可以了,当然不是

如果没有主键的话,我们这样也可以

alter table people change peopleid peopleid smallint auto_increment unique;

这样也是可以的,这里应该有一个注意,我刚开始的时候每次都没有修改都没有表明字段类型,总是报错,切忌要声明字段的类型.