日期:2014-05-16 浏览次数:20918 次
曾经给某个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 `已经有的列名`