mysql语法不等于很多值

lgt*_*lgt 17 mysql

我正在尝试为以下情况获得正确的语法?

SELECT * 
FROM wp_posts AS p 
WHERE post_type = 'post' 
AND post_status = 'publish' 
AND ID <> 5616,1095,1357,271,2784,902
ORDER BY post_title DESC
Run Code Online (Sandbox Code Playgroud)

pod*_*ska 59

而不是<>,你可以使用NOT IN (5616,1095...)

SELECT * 
FROM wp_posts AS p 
WHERE post_type = 'post' 
AND post_status = 'publish'
AND ID NOT IN (5616,1095,1357,271,2784,902)
ORDER BY post_title DESC 
Run Code Online (Sandbox Code Playgroud)

  • 领先我22秒。:-) +1,并删除我的答案。 (2认同)

Sam*_*uel 5

<>运算符比较单个左右参数以查看它们是否不相等。在您的情况下,您需要检查一个左侧参数(我假设)以查看ID右侧是否没有任何值。因此你应该使用ID NOT IN (5616,1095,1357,271,2784,902)