Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 添加从1001开始自动递增的主键_Mysql_Mysql Error 1064 - Fatal编程技术网

Mysql 添加从1001开始自动递增的主键

Mysql 添加从1001开始自动递增的主键,mysql,mysql-error-1064,Mysql,Mysql Error 1064,这是我使用的代码: ALTER TABLE `event_all_copy` ADD `id` INT(5) AUTO_INCREMENT = 1001 PRIMARY KEY; 我得到以下错误: 1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“AUTO INCREMENT=1001 PRIMARY KEY”附近使用的正确语法 如果我关闭自动增量=1001,代码将正常运行。如果我添加id,然后更改它: ALTER TABLE event_all_copy

这是我使用的代码:

ALTER TABLE `event_all_copy` 
ADD `id` INT(5) AUTO_INCREMENT = 1001 PRIMARY KEY;
我得到以下错误:

1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“AUTO INCREMENT=1001 PRIMARY KEY”附近使用的正确语法

如果我关闭
自动增量=1001
,代码将正常运行。如果我添加
id
,然后更改它:

ALTER TABLE event_all_copy AUTO_INCREMENT = 1001; 

它不会更改现有值。

请在定义表结构后尝试以下操作:

ALTER TABLE tablename AUTO_INCREMENT = 1000;

您需要更改表格,告诉它从
1000
开始:

ALTER TABLE `event_all_copy` AUTO_INCREMENT = 1000;
因此,您的查询将是:

ALTER TABLE `event_all_copy` ADD `id` INT(5) PRIMARY KEY;
ALTER TABLE `event_all_copy` AUTO_INCREMENT = 1000;
ADD
查询中不能有
AUTO\u INCREMENT
值。这两个查询应该是两个独立的查询。要更改现有值,这很容易。你可以做:

UPDATE `event_all_copy` SET `id` = `id` + 1000;

AUTO_INCREMENT
updated值将仅为新输入的记录设置。

如果我在ADD查询中没有AUTO_INCREMENT,我会收到一个错误,因为所有值都是0或NULL(在任何情况下都是重复的)。你的更新代码工作得很好!!我没想到。谢谢如果id的值有任何超出数据库范围的含义,请不要使用自动递增。