所以基本上我在 MySQL 中有一个 joomla 数据库,它有一堆前缀为“jmla_”的表。我想通过用“jos_”前缀替换“jmla_”前缀来重命名所有这些表。关于如何使用简单的 SQL 脚本或 SQL 查询来执行此操作的任何想法?
问问题
7424 次
5 回答
10
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'
将工作。
于 2012-07-16T10:54:51.010 回答
8
运行此语句:
SELECT 'rename table '||table_name||' to '||'jos'||substr(table_name,5)||';'
FROM information_schema.tables
WHERE table_name like 'jmla%'
这将创建一个将重命名所有表的脚本。只需将输出复制并粘贴到您的 SQL 客户端。
(如果您不是在 ANSI 模式下运行它,您需要将其更改||
为 MySQL 的非标准连接运算符)
于 2012-04-08T22:47:31.360 回答
3
RENAME TABLE jmla_whatever to jos_whatever;
您必须编写一个脚本来覆盖所有表格 - 您可以使用show tables
. 有关详细信息,请参阅http://dev.mysql.com/doc/refman/5.0/en/rename-table.html。
于 2012-04-08T21:51:57.823 回答
2
- 使用 phpmyadmin 导出到 .sql 文件
- 使用任何带有“查找和替换”功能的文本编辑器(我更喜欢 vim,在大文件上表现出色)打开文件
- 执行“查找和替换”,将您的实际前缀放在查找框中,并在替换框中更新
- 使用 phpmyadmin 导入文件。
请记住在 phpmyadmin 导入之前删除旧数据库。这可以在导出期间检查合适的选项来完成。
于 2012-04-08T21:49:10.943 回答
0
您是否考虑过为 Joomla 使用 Akeeba 管理工具组件!然后使用数据库前缀编辑器更改表前缀,效果非常好。Akeeba 管理工具可用于保护您的 Joomla!安装
Akeeba 可以在这里获得
于 2014-02-15T11:15:55.530 回答