2017-05-14 141 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

所以很尷尬,你正確的坦克爲你解決我的語法 –