正确的列的mysql语法不等于两个值中的任何一个

cra*_*rah 0 php mysql sql

我有一张桌子'汽车',上面有一个颜色的柱子.我正在尝试构建一个查询,该查询将显示所有有4扇门的汽车,但不包括所有在其颜色列中记录"红色"或"黑色"的汽车.

SELECT * FROM 'cars'
WHERE 'cars.doors = 4'
AND 'cars.colour != red OR black'
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用,但我不确定它是否因为我的错误是否在我的代码中有其他东西搞砸了.这样做可以吗?

谢谢

MrC*_*ode 6

您将条件用单引号括起来是无效的.您应该只在引号中包含字符串.对于您可以使用的非红色或黑色部分NOT IN()

SELECT * FROM `cars`
WHERE cars.doors = 4
AND cars.colour NOT IN('red', 'black')
Run Code Online (Sandbox Code Playgroud)

或者你可以做很长的事情,注意使用AND不是OR因为OR不适合你想要的.

AND cars.colour != 'red' AND cars.colour != 'black'
Run Code Online (Sandbox Code Playgroud)