2017-05-14 114 views
0

我的查询:简单的SQL查询返回零行

SELECT * FROM game_tbl WHERE (`player_o` = 1 OR `player_x` = 1) AND (`player_o` = NULL OR `player_x` = NULL) 

game_tbl: enter image description here

使用的:mysql

,结果是零行,我想 '的Game1'。嗯,我想我可以用其他的查询,但是,重要的我的理解正确的我错了SQL语法,谢谢大家

回答

2

尝试使用IS NULL代替= NULL,如:

SELECT * 
FROM game_tbl 
WHERE (`player_o` = 1 OR `player_x` = 1) AND (`player_o` IS NULL OR `player_x` IS NULL) 

Here's MySQL的有关工作wiith文档值为NULL

要测试NULL,请使用IS NULL和IS NOT NULL运算符。

对于NULL,您不能使用算术比较运算符,如=,<或<>到 测试。

+0

所以很尴尬,你正确的坦克为你解决我的语法 –