INNER JOIN 用作 SELECT 但不用作 DELETE [英] INNER JOIN works as SELECT but not as DELETE

查看:51
本文介绍了INNER JOIN 用作 SELECT 但不用作 DELETE的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么会出现语法错误

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'

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

when this works correctly without error?

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'

推荐答案

在不使用表别名的情况下,正确的语法如下所示.您缺少要从中删除的表名.

Correct syntax would look like below without using table alias. You are missing the table name to delete from.

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'

这篇关于INNER JOIN 用作 SELECT 但不用作 DELETE的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆