SELECT concat ('rename table ',table_name,' to ',table_name,'_old;')
FROM information_schema.tables
WHERE table_name like 'webform%'
and table_schema='weiss_db_new'
USE target_db_name;
SELECT concat (
'rename table ', table_name, ' to ',
'new_prefix_',
substr(table_name, 11),
';')
FROM information_schema.tables
WHERE table_name like 'old_prefix_%'
and table_schema='target_db_name';
6条答案
按热度按时间vaj7vani1#
字符串
会成功的
r8xiu3jd2#
运行此语句:
字符串
这将创建一个脚本,用于重命名所有表。只需将输出复制并粘贴到您的SQL客户端。
(You需要将
||
更改为MySQL的非标准连接运算符,以防您不在ANSI模式下运行它)对于此语句的输出,追加
型
上面写着
型
Table schema是mysql的数据库名称的内部标签,请确保包含它。
eqqqjvef3#
字符串
您必须编写一个脚本来覆盖所有表-您可以使用
show tables
的输出填充脚本。详情请参见http://dev.mysql.com/doc/refman/5.0/en/rename-table.html。yhuiod9q4#
1.使用phpmyadmin导出到.sql文件
1.使用任何文本编辑器(我更喜欢vim,在大文件上工作出色)与功能“查找和替换”打开文件
1.做“查找和替换”,把你的实际前缀在查找框,并在替换框更新
1.使用phpmyadmin导入文件。
记住在导入之前删除旧的数据库。这可以通过在导出期间检查合适的选项来完成。
ojsjcaue5#
你有没有考虑过使用Akeeba管理工具组件的Joomla!然后使用数据库前缀编辑器更改表前缀,效果非常好。Akeeba管理工具可以用来保护您的Joomla!安装
Akeeba可以获得here
2cmtqfgy6#
如果您在不同的 databases 中有多个同名的表,也称为 table_schemas,请确保您连接到要重命名其中的表,或者在重命名上使用where子句以确保您的目标 database.tables 被重命名。
字符串