【问题标题】:add primarykey with autoincrement in mysql在mysql中添加带有auto_increment的主键
【发布时间】:2012-12-05 13:11:14
【问题描述】:

如何在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);    

【问题讨论】:

  • 错误信息是什么?
  • @sashikant 错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'id INT(11) NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (id)' 附近使用正确的语法
  • 寻求帮助但不要提供错误,通常不需要错误。

标签: mysql primary-key auto-increment alter-table


【解决方案1】:

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

ALTER TABLE tbl_travelplan add TRREQNO_id INT(11) NOT NULL primary KEY AUTO_INCREMENT;

【讨论】:

  • 您的意思是说,您面临与您在上述评论中提到的错误相同的问题?
【解决方案2】:

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

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;    

【讨论】:

  • 嗯,怎么回事?为什么这个答案会被接受,为什么会得到支持?它甚至不应该工作?
【解决方案3】:

您必须先使用

删除现有索引
DROP_INDEX [your_existing_index] ON tbl_travelplan

【讨论】:

    【解决方案4】:

    您可以使用此查询

    alter table tbl_travelplan 
        add TRREQNO_id int(11) NOT NULL AUTO_INCREMET PRIMARY KEY
    

    【讨论】:

      【解决方案5】:

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

      请运行此查询

      ALTER TABLE `table_name` add TRREQNO id INT(11) NOT NULL AUTO_INCREMENT DROP PRIMARY KEY ,
      ADD PRIMARY KEY ( `id` ) 
      

      【讨论】:

        猜你喜欢
        • 2011-06-15
        • 2018-10-12
        • 2015-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-02
        • 2020-03-09
        相关资源
        最近更新 更多