INNER JOIN作为SELECT工作,但不作为DELETE工作

jer*_*iuh 1 mysql sql

为什么会出现语法错误

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'
Run Code Online (Sandbox Code Playgroud)

什么时候正常工作没有错误?

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'
Run Code Online (Sandbox Code Playgroud)

Gor*_*off 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';
Run Code Online (Sandbox Code Playgroud)

表别名在delete语句之后和之前from.我假设它是第一个提到的表.