在SQL脚本顶部调用DROP TABLE IF EXISTS <some table>
时,订单是否重要?
答案 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
,请确保您的脚本不会失败,如果该表已存在