首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用联接正确删除MySQL

使用联接正确删除MySQL
EN

Stack Overflow用户
提问于 2016-02-24 20:31:16
回答 1查看 24关注 0票数 0

我试图从MySQL中的一个表中删除数据,但是在执行命令之前,我想确保我做的是正确的。我希望删除storeID > 5000000的所有行,并且无法与deals表中的任何项匹配。以下是我的查询:

代码语言:javascript
运行
复制
DELETE FROM stores s 
LEFT JOIN deals sd 
ON s.storeID = sd.store_ID 
WHERE storeID > 5000000 
AND sd.dealID IS NULL;

上述查询是否只删除“存储”表中的行,而不影响“交易”表?

EN

Stack Overflow用户

回答已采纳

发布于 2016-02-24 20:49:23

如果您关心的是查询,从生产表中删除额外的内容,我建议旋转一个开发实例并复制数据库模式。如果可能的话,对生产数据库进行完全转储,并将其导入您的开发/测试系统。这样,您就可以测试您的查询并确切地知道它们的结果。

如果您想要数据库的转储,甚至只是数据库模式,您可以使用mysqldump生成这些数据库。

我不认为您的查询将删除任何交易表,但我建议您检查100%确定。这难道不会让您在deals表中留下行,这些行引用的是未在存储表中的storeid吗?

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35612480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档