如何为数据库中的所有表运行命令?
ALTER TABLE table_name ROW_FORMAT=Fixed;
我有超过40000个表,我想一次性更改它们。
答案 0 :(得分:2)
每个ALTER语句不能更改多个表;但您可以使用information_schema
。tables
上的查询生成alter语句。
像
这样的东西SELECT CONCAT('ALTER TABLE `', table_name, '` ROW_FORMAT=fixed;') AS aQuery
FROM information_schema.tables
WHERE table_schema = 'myschema'
请记住InnoDB表不支持FIXED,我不能100%确定它是否可以为MyISAM表明确设置(或者完全取决于表格的列'数据类型。)