为什么会出现语法错误
DELETE FROM `print_mailing_request` pmr
INNER JOIN `person` p
ON p.id = pmr.person AND p.email LIKE '%@TEST.COM'
WHERE
pmr.sent_to_fulfiller != 'y'
当这种方法正确无误时?
SELECT * FROM `print_mailing_request` pmr
INNER JOIN `person` p
ON p.id = pmr.person AND p.email LIKE '%@TEST.COM'
WHERE
pmr.sent_to_fulfiller != 'y'
答案 0 :(得分:7)
您需要告诉delete
要删除的表格:
DELETE pmr
FROM `print_mailing_request` pmr INNER JOIN
`person` p
ON p.id = pmr.person AND p.email LIKE '%TEST.COM'
WHERE pmr.sent_to_fulfiller != 'y';
表别名位于delete
语句之后和from
之前。我假设它是第一个提到的表。
答案 1 :(得分:3)
如果不使用表别名,正确的语法将如下所示。您缺少要删除的表名。
DELETE `print_mailing_request`
FROM `print_mailing_request`
INNER JOIN `person`
ON `person`.id = `print_mailing_request`.person
AND `person`.email LIKE '%@TEST.COM'
WHERE `print_mailing_request`.sent_to_fulfiller != 'y'