是否有任何我们运行的 SQL 查询,它会将每个表的主表更新ID
为AUTO_INCREMENT
(选中)?
问问题
196 次
1 回答
2
这几乎不是一个真正的问题,但我今天心情很好,我会给你你需要的资源,从那里你可以了解如何处理这些资源以实现你的目标。
首先,列出数据库中的所有表:
- 使用 MySQLi 列出数据库中的所有表
有很多方法。
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.
现在使用给定表的列名,将列修改为使用该最大值自动递增。
- Mysql - 将列更改为 AUTO_INCREMENT
alter table document modify column document_id int(4) auto_increment
最后,获取列的max()
值primary_key
并保存该数字,以便您可以使用此值设置此表的自动增量选项,因此自动增量行为将从正确的位置开始。
于 2013-03-06T18:27:11.927 回答