mysql - 对表执行列表查询
问题描述
我想更改数据库上的所有表类型,但不使用 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; |
+--------------------------------------------------------+
如何逐行执行对表结果的所有查询?
解决方案
推荐阅读
- c# - 达到限制时在所有线程上停止 Parallel.For 吗?
- debugging - 当在 D 中引发异常时,如何使调试器中断?
- web - CSRF 实现和 Stripe API
- javascript - 如何使两个事件侦听器都工作
- javascript - javascript 要求在 html 中不起作用
- aerospike - AEROSPIKE 上是否有可用于唯一键的 NO KEY 或自动增量策略?
- python - 在 Python 中处理深度嵌套字典的便捷方法
- c++ - 获取导致 `std::out_of_range` 被抛出的数组
- java - 在 Java 中记录来自多个线程的错误
- javascript - javascript JSON:将两个或多个只有数字值的json和相同的键相加