1

如何在mysql.am中使用alter语句将特定列设置为主键并自动递增。但是当我在mysql中执行alter语句时出现错误。

alter statement
---------------

 ALTER TABLE tbl_travelplan add COLUMN TRREQNO id INT(11) NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id);    
4

5 回答 5

3

您需要先删除主键:试试这个::

ALTER TABLE tbl_travelplan add TRREQNO_id INT(11) NOT NULL AUTO_INCREMENT, DROP PRIMARY KEY,PRIMARY KEY;    

ALTER TABLE tbl_travelplan add TRREQNO_id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY;    
于 2012-12-18T10:41:05.727 回答
3

我认为真正的问题是查询中 TRREQNO 和 id 之间的空格。尝试我在下面放置的查询:

ALTER TABLE tbl_travelplan add TRREQNO_id INT(11) NOT NULL primary KEY AUTO_INCREMENT;
于 2012-12-18T10:57:07.380 回答
0

您必须首先使用删除现有索引

DROP_INDEX [your_existing_index] ON tbl_travelplan
于 2012-12-18T10:42:42.773 回答
0

您可以使用此查询

alter table tbl_travelplan 
    add TRREQNO_id int(11) NOT NULL AUTO_INCREMET PRIMARY KEY
于 2014-02-07T05:38:14.063 回答
-1

我认为该表中已经有主键。所以只有这种错误来了。请删除主键并运行您的查询。

请运行此查询

ALTER TABLE `table_name` add TRREQNO id INT(11) NOT NULL AUTO_INCREMENT DROP PRIMARY KEY ,
ADD PRIMARY KEY ( `id` ) 
于 2012-12-18T10:43:51.917 回答