当我从一个数据库复制所有表并将它们粘贴到其他数据库时,如何将这些表中的所有auto_increments设置为起始值?是否有可能为这样的事情制作一个PHP脚本?
答案 0 :(得分:0)
试试这个:
ALTER TABLE test AUTO_INCREMENT = 'startvalue'
<强>条件强>: 如果table not empty start value必须大于MAX(AUTO_INCREMENT)
答案 1 :(得分:0)
如果AUTO_INCREMENT列是主键,并且您重新排序AUTO_INCREMENT列数据,则与其他表的关系可能有问题。您可以按如下方式导入而不是重新排序AUTO_INCREMENT数据:
您可以按如下方式禁用新表上的AUTO_INCREMENT:
ALTER TABLE [your_table] CHANGE auto_increment_column_name
auto_increment_column_name
INT(11)NOT NULL
插入后,您可以启用AUTO_INCREMENT并重新设置,如下所示: ALTER TABLE [your_table] AUTO_INCREMENT = [最大值]
或者,您必须使用迁移脚本更新所有从属表的外键值。