这个delete语句有什么问题

wgeznvg7  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(317)

这个问题在这里已经有答案了

用mysql左连接删除行(5个答案)
两年前关门了。
我使用以下sql语句来删除一些行:

DELETE 
FROM
  `user_group_membership` g
  INNER JOIN `users` u ON u.user_id = g.user_id
WHERE
  u.`user_id` NOT IN (?, ?, ?)
  AND g.group_id IN (9, 6)
  AND u.`lifetime_supporter` = 0
  AND u.supporter_type = 'special'

我得到一个sql错误“sql error sqlstate[42000]:语法错误或访问冲突:1064您的sql语法有错误;检查与mysql服务器版本相对应的手册,以获得使用near'g inner join的正确语法 users u on u.user\u id=g.user\u id其中u。 user_id 不在(?,?)
不太清楚这里出了什么问题,有人能给我一个指针吗?

b09cbbtk

b09cbbtk1#

您需要指定需要从哪个表中删除记录。如果要从表用户\组\成员中删除,则需要在删除命令后指定表,如下所示:

DELETE g
FROM
  `user_group_membership` g
  INNER JOIN `users` u ON u.user_id = g.user_id
WHERE
  u.`user_id` NOT IN (?, ?, ?)
  AND g.group_id IN (9, 6)
  AND u.`lifetime_supporter` = 0
  AND u.supporter_type = 'special'

相关问题