首页 > 解决方案 > 对表执行列表查询

问题描述

我想更改数据库上的所有表类型,但不使用 SUPER USER。我想尝试使用 ALTER TABLE 脚本更改所有表。您知道如何对列表 SELECT QUERY 结果执行任何查询吗?

我创建的这个示例查询:

SELECT CONCAT("ALTER TABLE ", TABLE_SCHEMA,".",TABLE_NAME," ENGINE = InnoDB;") AS Querys
FROM information_schema.TABLES WHERE TABLE_SCHEMA = "database_name" AND ENGINE = "MyISAM"

该查询的结果是:

+--------------------------------------------------------+
|                       Querys                           |
+--------------------------------------------------------+
| ALTER TABLE database_name.table_name1 ENGINE = innodb; |
| ALTER TABLE database_name.table_name2 ENGINE = innodb; |
| ALTER TABLE database_name.table_name3 ENGINE = innodb; |
| ALTER TABLE database_name.table_name4 ENGINE = innodb; |
+--------------------------------------------------------+

如何逐行执行对表结果的所有查询?

标签: mysqldatabaseinnodbmyisamalter-table

解决方案


推荐阅读