2016-08-08 7 views
0

私は列!=何かを書くと、何もNULL値などを選択しません。なぜこれが起こったのですか?これを書いているだけで、カラムがNULLであるのを防ぐことはできますか?書き込み時にSQL BUGはnullを受け付けません!

+0

「ヌル」は、明示的にチェックされていない明示的に条件が満たされていないため、常に条件が満たされないためです。 – SomeJavaGuy

答えて

2

NULLもチェックする必要があります。

SELECT 
* 
FROM your_table 
WHERE column <> something 
OR column IS NULL 

注:あなたはNULL以外のものでNULLを比較することはできません。

のは、次のコードスニペットを見てみましょう:あなたはそれに慣れるまで

SET @v := NULL; 
SELECT @v = NULL; 
Result: NULL; Because NULL can be only compared using IS NULL 

SELECT @v IS NULL; 
Result: 1 (i.e. TRUE) 

NULL値は、意外なことができます。 概念的には、NULLは「不明な値が見つからない」ことを意味し、 は他の値とは多少異なります。

、NULLをテストIS NULLを使用して

WORKING WITH NULL VALUES IN MYSQL

+1

答えていただきありがとうございます。最初の文章は私にとっては答えでした:) –

1

NULLされていないためにはい、あなたは、指定された1000111としてOR演算子を使用してNULLのためではありませんチェックしています。

また、ORを使用した場合、他のAND演算子は、WHERE句に存在する場合、あなたはすでに、知っているように、我々は(括弧でそれらを囲む必要があります)

よろしく

1

は別途NULL条件をチェックする必要があります。

and column is NULL 
+0

あなたの答えをありがとう私はちょっと答えを編集します –

+0

よろしいですか。ありがとう –

関連する問題