2010-11-22 11 views
0

Ich muss eine Aktualisierung vornehmen, die ein boolesches Feld in einer Tabelle ändern soll. Wenn der Wert wahr ist, sollte der Wert auf false und umgekehrt gesetzt werden.SQL KeyWord Not

Ich bin nicht sicher, wie die nicht Keyword-Werke in SQL und die folgenden scheinen nicht zu funktionieren:

Update tbl set field=!field where ID=1

Antwort

0
Update tbl set ID=1 where field<>field 

<> nicht gleich Operator in SQL

+1

Sie können ein Feld "ungleich" zu nichts, in jedem Dialekt von SQL, mit denen ich vertraut bin, 'SET '. – cdhowie

+0

Ich denke OP bedeutet logische Ergänzung/Negation – StuartLC

3

Der ! Operator genannt wird NOT in SQL. Versuchen Sie folgendes:

UPDATE tbl 
SET field = NOT field 
WHERE ID = 1 

ich überprüft haben, dass dies auf PostgreSQL funktioniert, und es sollte auf jedem DB-Engine wert sein Salz arbeiten.