SQL DELETE来自同一语句中的两个表

时间:2012-04-06 10:15:09

标签: mysql sql

我将从2个表中删除数据。我会这样做:

 DELETE FROM dc_mail_users u, dc_mail_user_data d WHERE u.i_id_pk = 3 AND d.i_id_ut = u.i_id_pk

但这会返回SQL语法错误。如何修复SQL AS语句?就像下面的例子一样。

SELECT first_name.last_name AS name WHERE name="John Doe"

3 个答案:

答案 0 :(得分:3)

DELETE u, d
FROM dc_mail_users u
INNER JOIN dc_mail_user_data d
    ON d.i_id_ut = u.i_id_pk
WHERE u.i_id_pk = 3

答案 1 :(得分:2)

delete u, d
FROM dc_mail_users u
join dc_mail_user_data d
on d.i_id_ut = u.i_id_pk
and u.i_id_pk = 3 

答案 2 :(得分:2)

您的原始陈述也是正确的如果您添加表格的别名,请举例SQL Fiddle