给定一个包含数百或数千个表的数据库:
考虑到所有表都是空的。是否有办法为所有表自动将auto_increment
设置为1?
答案 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命令行工具。