订单在mysql中是否重要`DROP TABLE IF EXISTS <some table =“”>`

时间:2018-06-09 16:12:01

标签: mysql sql

在SQL脚本顶部调用DROP TABLE IF EXISTS <some table>时,订单是否重要?

2 个答案:

答案 0 :(得分:2)

如果您对外键感到担忧,那么您应该首先删除子表。如果在另一个表中引用了表,则不能删除该表。但暂时禁用密钥检查更容易。

SET FOREIGN_KEY_CHECKS = 0;

DROP TABLE ...;
...
DROP TABLE ...;

SET FOREIGN_KEY_CHECKS = 1;

然后你不需要关心表丢弃的顺序。

请注意,启用密钥检查时,架构应该“干净” - 不应该对不存在的表进行任何外键引用。否则SET FOREIGN_KEY_CHECKS = 1将失败。

答案 1 :(得分:1)

是的,如果您在脚本之后调用ownerID,它将删除已创建的新表,这很可能是您不想要的。

如果您之前致电ownerAvatarURL,请确保您的脚本不会失败,如果该表已存在

相关问题