mysql修改表为字段添加auto_increment

文章来源: 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)

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

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

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;

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值