gpt4 book ai didi

mysql - 如何在单个查询中更改所有表前缀

转载 作者:行者123 更新时间:2023-11-29 03:05:25 25 4
gpt4 key购买 nike

我在 mysql 方面很业余..你能告诉我如何在单个查询中更改整个数据库的表前缀吗...我可以手动完成,但是更改所有表前缀非常耗时.请帮帮我。像 isc_administrator_log 到 cus_administrator_log 的意思是 isc_ 到 cus_

我找到了这两个解决方案,但都不理解。

SELECT 
GROUP_CONCAT('RENAME TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME, '` TO `',
TABLE_SCHEMA, '`.`prefix_', TABLE_NAME, '`;' SEPARATOR ' ')
FROM `TABLES` WHERE `TABLE_SCHEMA` = "test";

SELECT 
CONCAT('RENAME TABLE ', GROUP_CONCAT('`', TABLE_SCHEMA, '`.`', TABLE_NAME,
'` TO `', TABLE_SCHEMA, '`.`prefix_', TABLE_NAME, '`')) AS q
FROM
`information_schema`.`Tables` WHERE TABLE_SCHEMA='test';

最佳答案

这两个语句都会生成恰好是 SQL 语句的字符串,然后您可以在提示符下复制/粘贴以重命名您的表。

只需将以下两个字符串替换为您需要的实际值即可:

prefix_ : 你要添加的前缀

'test' : 包含您要重命名的表的数据库的名称

这两个语句几乎相同,唯一的区别是第一个语句中没有明确提到 information_schema。因此,第一个语句必须从 information_schema 数据库运行(预先发出 USE information_schema)。

关于mysql - 如何在单个查询中更改所有表前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16339636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com