我正在尝试从MySQL中的表中删除数据,但在执行命令之前,我想确保我做得对。我想删除所有带有storeID>的行。 5000000并且无法与交易表中的任何项目匹配。以下是我的询问:
DELETE FROM stores s
LEFT JOIN deals sd
ON s.storeID = sd.store_ID
WHERE storeID > 5000000
AND sd.dealID IS NULL;
以上查询是否只删除stores表中的行而不影响deal表?
答案 0 :(得分:1)
如果您担心从生产表中删除额外内容的查询,我建议启动开发实例并复制数据库模式。如果可能,请完整转储生产数据库并将其导入开发/测试系统。这样您就可以测试您的查询并确定其结果。
如果您想要转储数据库甚至只是数据库架构,可以使用mysqldump
来生成这些。
我不认为您的查询会从交易表中移除任何内容,但我建议您检查100%确定。这不会让你在deal表中留下引用store表中不存在的storeid的行吗?