我将通过 Flyway SQL 脚本重命名 MySQL 8.0 表:
RENAME TABLE aaa TO bbb;
它应该在 env 上运行很多次 - 但这样的脚本不是幂等的,尝试第二次运行它时我发现了一个错误:
SQL State : 42S01
Error Code : 1050
Message : Table 'bbb' already exists
Location : db/migration/V7__blabla.sql (/usr/local/...)
Line : 1
Statement : RENAME TABLE aaa TO bbb
有人可以建议如何处理吗?
提前谢谢了!
IF EXISTS
Use the IF EXISTS
条款。如果没有找到这样的表,该命令将停止,但不会产生任何效果。
ALTER TABLE IF EXISTS name
RENAME TO new_name
;
This 在 Postgres 中工作 https://www.postgresql.org/docs/current/sql-altertable.html。对于 MySQL,请参阅这个问题 https://stackoverflow.com/q/16837134/642706.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)