ALTER TABLE ALL TABLES ROW_FORMAT =固定;

时间:2017-01-27 18:38:34

标签: mysql sql alter

如何为数据库中的所有表运行命令?

ALTER TABLE table_name ROW_FORMAT=Fixed;

我有超过40000个表,我想一次性更改它们。

1 个答案:

答案 0 :(得分:2)

每个ALTER语句不能更改多个表;但您可以使用information_schematables上的查询生成alter语句。

这样的东西
SELECT CONCAT('ALTER TABLE `', table_name, '` ROW_FORMAT=fixed;') AS aQuery
FROM information_schema.tables
WHERE table_schema = 'myschema'

请记住InnoDB表不支持FIXED,我不能100%确定它是否可以为MyISAM表明确设置(或者完全取决于表格的列'数据类型。)