我需要重命名我的数据库,并发现通过创建新的db并将表重命名为新的db name,可以重命名db
我跟着警察走 Renaming Tables with InnoDB
第节https://chartio.com/resources/tutorials/how-to-rename-a-database-in-mysql/ 链接。
但是我的许多表在创建触发器之前都有。这会引起错误 Trigger in wrong schema
在执行以下命令期间:
$mysql-u dbusername-p“dbpassword”catalog-sne'show tables'| while read table;do mysql-u dbusername-p“dbpassword”-sne“重命名表目录。$table到库。$table”;完成
mysql文档中甚至提到了这个问题-https://dev.mysql.com/doc/refman/5.7/en/rename-table.html
我怎样才能重新命名这些表呢?
2条答案
按热度按时间ikfrs5lh1#
您可以将数据库复制到新数据库中,然后将其删除https://dev.mysql.com/doc/refman/5.7/en/mysqldump-copying-database.html
4ngedf3f2#
我认为解决这个问题的唯一方法是在重命名表之前删除触发器,然后在新数据库上重新创建它。我写了一个简单的php脚本,你可以用同样的方法使用任何编程语言
希望这能有所帮助