2010-11-25 5 views

Répondre

0

null n'est jamais inclus dans ces comparaisons, l'utilisation est null à la place.

1

NULL est spécial dans SQL. La condition que vous avez: tuan_id <> 14 sera TRUE uniquement pour les valeurs qui sont différentes de 14. Pour les lignes qui tuan_id est-NULL, les:

tuan_id <> 14 

sera:

NULL <> 14 

qui évalue à:

UNKNOWN 

de sorte que ces lignes sont pas supprimé. WHERE conditions sont satisfaites lorsqu'ils évaluent à TRUE. Ils sont rejetés lorsqu'ils évaluent FALSE ou UNKNOWN.

SQL utilise un 3-valued logic


Donc, si vous voulez supprimer les valeurs nulles aussi bien, vous pouvez utiliser cette instruction:

DELETE 
FROM tuan_details 
WHERE tuan_id <> 14 
    OR tuan_id IS NULL ; 
Questions connexes