这个SQL语句有什么问题 - 错误

时间:2016-08-19 17:51:02

标签: mysql sql

SELECT `exp_channel_titles`.`entry_id` 
FROM (`exp_channel_titles`) 
JOIN `exp_category_posts` ON `exp_channel_titles`.`entry_id` = `exp_category_posts`.`entry_id` 
WHERE `exp_category_posts`.`cat_id` IS NULL 
  AND `exp_channel_titles`.`channel_id` IN (2) 
  AND `exp_channel_titles`.`entry_id` NOT IN ()

错误是: 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以获得正确的语法,以便在附近使用')'在第1行

它突出显示了最后的)

From (`exp_channel_titles`)

如果我删除了(),我会收到相同的错误,但是它突出显示了

结束时的)
.`channel_id` IN (2)

1 个答案:

答案 0 :(得分:2)

您不能拥有像此entry_id NOT IN ()这样的空IN子句。如果您无法从查询中删除该条件,那么您可以使用不属于您0列的entry_id等值填充

entry_id NOT IN (0)