在特定列上应用自动增量1时出错

时间:2014-05-01 21:07:59

标签: mysql sql

我有一个表名文章和一个列名articleid。我希望每当我输入表格中的数据时,articleid列中的值应该增加到1.我试着这样做。

ALTER TABLE article  MODIFY COLUMN articleid INT auto_increment

但它会生成此错误声明:

  

您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以便在' = 1'附近使用正确的语法。在第1行

2 个答案:

答案 0 :(得分:0)

完成此任务的工作SQL语句是:

ALTER TABLE article CHANGE articleid articleid INT NOT NULL AUTO_INCREMENT 请确保您已将主键指定为“明确的”

如果没有,请运行以下语句: ALTER TABLE article ADD PRIMARY KEY(articled) 因为auto_increment只能应用于作为表的主键的列。

如果它根本不起作用,你可以通过丢弃你的表来重新开始(所有数据都丢失了!)

DROP TABLE article

并使用正确分配的所有属性和键重新创建它。

CREATE TABLE article (
articleid int NOT NULL AUTO_INCREMENT,
articletitle varchar(100) NOT NULL,
PRIMARY KEY (articleid)
) 

答案 1 :(得分:0)

您的错误消息是

  

您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以便在' = 1'附近使用正确的语法。在第1行

但您向我们展示的查询是

ALTER TABLE article  MODIFY COLUMN articleid INT auto_increment

注意=1不在您向我们展示的查询中,因此您正在运行一些您并非故意尝试运行的代码。您的ALTER TABLE查询的语法看起来是正确的。


更新:要确保MySQL增加1,请将MySQL配置设置为auto_increment_increment = 1。请注意,在MySQL中,这是一个全局设置,而不是表或列设置。

http://dev.mysql.com/doc/refman/5.0/en/replication-options-master.html#sysvar_auto_increment_increment