我的Provider 已安装到我的网站Drupal CMS.现在我需要从旧网站复制所有数据.我在旧数据库中有没有前缀的表,但在新数据库中,所有表都有dp_[table_name]
个前缀.
我的Provider 已安装到我的网站Drupal CMS.现在我需要从旧网站复制所有数据.我在旧数据库中有没有前缀的表,但在新数据库中,所有表都有dp_[table_name]
个前缀.
虫族的解决方案对我不起作用.我必须指定information_schema
数据库才能查询Tables
表.
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';
Edit:个
已将查询优化为仅调用一次重命名表.我接触到的事实是,连接的输出被截断为341个字符.这可以通过将MySQL变量group_concat_max_len
设置为更高的值来解决(如果您的服务器允许):
SET group_concat_max_len = 3072; -- UTF8 assumes each character will take 3 bytes, so 3072/3 = 1024 characters.