日期:2014-05-16  浏览次数:20854 次

给MySql表格添加自动增长主键

曾经给某个Mysql表格添加主键时,用了以下SQL语句

?

alter table `表格名` add column `列名` int not null auto_increment comment '主键' before `某一列名`;

?

?

结果遇到如下两个错误 :

?

Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'before 列名' at line 1
(0 ms taken)

?

?

这个错误是说before附近有语法错误

?

Error Code : 1075
Incorrect table definition; there can be only one auto column and it must be defined as a key
(0 ms taken)

?

?

这个错误是说只有主键才能指定自动增长列

?

网上找了下原因,说是先添加列,再修改列。我觉得这样挺麻烦的。自己试验了一下,一句话也能搞定:

?

alter table `表格名` add column `列名` int not null auto_increment primary key comment '主键' first;

?

?

上面语句表示给某个表格添加一个自动增长的主键字段,并且将该字段放在第一列。

?

如果你想放到其他列后面,可以将上面sql语句中的 first 换成? after `已经有的列名`