我试图从MySQL中的一个表中删除数据,但是在执行命令之前,我想确保我做的是正确的。我希望删除storeID > 5000000的所有行,并且无法与deals表中的任何项匹配。以下是我的查询:
DELETE FROM stores s
LEFT JOIN deals sd
ON s.storeID = sd.store_ID
WHERE storeID > 5000000
AND sd.dealID IS NULL;上述查询是否只删除“存储”表中的行,而不影响“交易”表?
发布于 2016-02-24 20:49:23
如果您关心的是查询,从生产表中删除额外的内容,我建议旋转一个开发实例并复制数据库模式。如果可能的话,对生产数据库进行完全转储,并将其导入您的开发/测试系统。这样,您就可以测试您的查询并确切地知道它们的结果。
如果您想要数据库的转储,甚至只是数据库模式,您可以使用mysqldump生成这些数据库。
我不认为您的查询将删除任何交易表,但我建议您检查100%确定。这难道不会让您在deals表中留下行,这些行引用的是未在存储表中的storeid吗?
https://stackoverflow.com/questions/35612480
复制相似问题