我们运行的是否有任何SQL查询,它会将每个表的主要ID
更新为AUTO_INCREMENT
(已选中)?
答案 0 :(得分:2)
这几乎不是一个真正的问题,但我今天感觉心情愉快,我将为您提供所需的资源,您可以从中了解如何处理这些资源以实现您的目标。
首先,列出数据库中的所有表格:
有很多方法。
SHOW TABLES是执行此操作的最简单的SQL语句。您可以 如果你想要更多,也可以看看INFORATION_SCHEMA.TABLES 细节或做一些过滤等。
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA LIKE 'your_database';
然后,遍历您的结果,然后进行每次迭代 需要找到该表的主键:
更好的方法是使用SHOW KEYS,因为您并不总是有权访问 INFORMATION_SCHEMA。以下作品:
SHOW KEYS FROM table WHERE Key_name = 'PRIMARY' Column_name will contain the name of the primary key.
现在使用给定表的列名称,将列修改为使用该最大值自动递增。
alter table document modify column document_id int(4)auto_increment
最后,获取max()
列的primary_key
值并保存该数字,以便您可以使用此值设置此表的自动增量选项,因此,自动增量行为将从正确的位置。