在MySQL中使用单一查询从MultiPle表中删除



我知道这是一个非常愚蠢的问题,它可能在互联网上到处都可以找到,但如果你们都不介意,我希望有人在我的查询中指出问题。我使用一个查询从多个表中删除,我在这两个表中没有任何外键。。

这是两个表的表结构

表1:dt_my_domain

|----------|----------------|
| username | domain_email   |
|----------|----------------|

表2:dt_my_contact

|----------|-------|----------------|------------------|--------|
| user     | email | contact_person | contact_email    |  type  |
|----------|-------|----------------|------------------|--------|

现在dtmy_domain表以username作为主键,domain_email是唯一的。

类似地,在表中dtmycontact电子邮件是唯一的。

我想在domain_email和email的基础上从这两个表中删除,这样当这两个匹配时,相应的条件元组就会从两个表中删除

这是我正在运行的查询,

DELETE FROM dt_my_domain, dt_my_contact
   USING dt_my_domain
INNER JOIN dt_my_contact USING(email) 
WHERE dt_my_domain.domain_email = 'saswat.saz.routroy@gmail.com'

因此,它给出了数据库错误

Unknown column 'email' in 'from clause'

现在,我如何通过我的查询来解决这个问题,我想调试或这个查询的问题

DELETE d,c FROM dt_my_domain d inner join dt_my_contact c
   on d.domain_email = c.email
WHERE d.domain_email = 'saswat.saz.routroy@gmail.com'

最新更新