给MySQL表格添加一个自动增长的主键列


曾经给某个Mysql表格添加主键时,用了以下SQL语句
  1. alter table `表格名` add column `列名` int not null auto_increment comment '主键' before `某一列名`;    

结果遇到如下两个错误 :

  1. Error Code : 1064    
  2. 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    
  3. (0 ms taken)    

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

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

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

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

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

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

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

相关内容