Mysql SQL自动增量id在切换服务器后随机跳转
我在Godaddy上开发了我的网站,然后将其转移到MiderTemple。执行此操作后,当在此表上插入新条目时,自动增量id不再以1为增量。前十个条目是在旧服务器上添加的,分别为1、2、3、4、5、6、7、8、9和10。将数据库移动到新服务器后,下一个id是55,然后是108、136、182和190 这仅在这一个表中发生,并且在通过php/pdo或phpmyadmin插入条目时发生。其他表仍然以1的增量添加ID 下面是表格结构的一些屏幕截图Mysql SQL自动增量id在切换服务器后随机跳转,mysql,sql,innodb,auto-increment,Mysql,Sql,Innodb,Auto Increment,我在Godaddy上开发了我的网站,然后将其转移到MiderTemple。执行此操作后,当在此表上插入新条目时,自动增量id不再以1为增量。前十个条目是在旧服务器上添加的,分别为1、2、3、4、5、6、7、8、9和10。将数据库移动到新服务器后,下一个id是55,然后是108、136、182和190 这仅在这一个表中发生,并且在通过php/pdo或phpmyadmin插入条目时发生。其他表仍然以1的增量添加ID 下面是表格结构的一些屏幕截图 如导出结构语法所示,自动增量以某种方式设置为267
如导出结构语法所示,自动增量以某种方式设置为267 我使用了这个查询
ALTER TABLE table_name AUTO_INCREMENT=191
这就解决了问题190
是最后一个id
所以191
将是下一个。做了一些测试,它又回到了自动增量1。我只能猜测ID在尝试达到267
时做了很大的跳跃,并且在达到267
后,他们会返回到1的增量。只是猜测而已
感谢那些发表评论的人。我知道您的
@@auto\u increment\u increment
值正在从某个地方更改。所以我的建议是请用这个命令检查一下
SELECT @@auto_increment_increment;
如果它返回1,那么如果不将其设置为
SET @@auto_increment_increment=1;
您也可以在Mysql配置文件中检查它,前提是您有权访问该文件\Mysql\bin\my.ini
您还可以通过以下方式更改自动_增量的种子值:
ALTER your_table AUTO_INCREMENT = 1;
谢谢。您能分享一下该表的创建表语法吗这里是导出结构的语法。。。如果不存在,则创建表
events
(id
int(11)不为空,name
varchar(255)不为空,twitter
varchar(255)不为空,info
text不为空,address
varchar(255)不为空,city
varchar(255)不为空,state
varchar(255)不为空,zip
int(11)默认为空,posted\u作者
int(11)默认为空,website
varchar(255)默认为空,start\u date
end\u date默认为空,url\u name
varchar(255)非空)引擎=InnoDB默认字符集=latin1自动增量=267;在新服务器上通过以下命令检查增量:SELECT@@auto\u INCREMENT\u INCREMENT
.ALTER TABLEevents
添加主键(url\u name
),添加唯一键id
(id
);ALTER TABLEevents
MODIFYid
int(11)非空自动增量,自动增量=267;/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT/;/!40101集字符集结果=@OLD_字符集结果/;/!40101设置排序规则\连接=@OLD\ u排序规则\连接*/@我猜你的意思是“自动增量=267”?您知道一个SQL命令来改变这一点吗?你知道267的意思/作用吗?哦,没有看到你发布的答案。谢谢。这个答案比我发布的答案有更多有用的信息。我会“投赞成票”,但我需要15+的声誉才能这样做,因为这是我的第一篇帖子,所以我还没有这样的声誉。