mysql - 删除一个表中存在于另一个 MYSQL 中的行

标签 mysql

我有两个表(X 和 Y),其中包含“电子邮件”列(列名称:表 x 中的 EmailX 和表 y 中的 EMailY)。当表 X 中的电子邮件地址是表 Y 中的电子邮件地址之一时,我想删除表 X 中的行。为了更清楚地说明 - 我有一个包含所有客户的表(带有邮件地址),我想要删除存储/保存在另一个表(带有电子邮件地址)中的特定阻止用户。

我已经尝试过这个,但它不起作用......

DELETE FROM X WHERE X.EmailX = Y.EmailY;

我该怎么做?

感谢您的支持!

最佳答案

你想做这样的事情:

DELETE FROM X
    WHERE X.EmailX IN (SELECT Y.EmailY FROM Y);

为了引用表,该表需要包含在某处的 FROM 子句中。

关于mysql - 删除一个表中存在于另一个 MYSQL 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41262194/

相关文章:

mysql 删除中间行并修复主键并按排列顺序

MySQL 内连接命名错误?

mysql - Rails 中每个循环的帮助。尝试统计每个表中的数据。

php - 在 laravel 5.5 中,此集合实例上不存在属性 [id]

php - 如何将 MySQL 单元格值放入以 PHP 中的列名命名的变量中

mysql - 案例陈述 :Operand should contain 1 column(s)

mysql - SQL AVG(平均)返回大量数字

mysql - 将 "year"列定义为 Integer 类型还是 String 类型更好?

python - 通过声明性映射创建架构 : Base.metadata.create_all(engine) 不起作用

java - Hibernate - 继承中的外键和主键