自动为MySQL中的所有表设置auto_increment

时间:2015-03-19 16:25:07

标签: php mysql

给定一个包含数百或数千个表的数据库:

考虑到所有表都是空的。是否有办法为所有表自动将auto_increment设置为1?

2 个答案:

答案 0 :(得分:1)

可以试试用PHP吗?必须知道所有的表名。

$tableName = array('somename', 'someOtherName', ...);

foreach ($tableName as $key) {
//Do the query
ALTER TABLE $key MODIFY COLUMN id INT auto_increment
}

伪代码..但你明白了吗?

答案 1 :(得分:1)

  

包含数百或数千个表的数据库

这可能是一个很大的错误。

要执行此任务,请编写一个存储过程,该过程创建一个Cursor,遍历information_schema.TABLES并构建每个表所需的SQL。然后prepare()并执行()它。

如果存储过程中不允许SQL,则只需选择SQL即可显示它。然后手动复制并将其传递到mysql命令行工具。