2010-11-22 2 views
0

Мне нужно сделать обновление, которое должно изменить булево поле в таблице. Если значение истинно, значение должно быть установлено как ложное и противоположное.SQL KeyWord Not

Я не уверен, как не ключевых слов работает в SQL и следующий не кажется работать:

Update tbl set field=!field where ID=1

ответ

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

<> не равен оператор SQL

+1

Вы не можете «УСТАНОВИТЬ» поле «не равно» ни к чему, ни на каком диалекте SQL, с которым я знаком. – cdhowie

+0

Я думаю, что OP означает логическое дополнение/отрицание – StuartLC

3

Оператор ! называется NOT в SQL. Попробуйте это:

UPDATE tbl 
SET field = NOT field 
WHERE ID = 1 

Я проверил, что это работает на PostgreSQL, и он должен работать на любой двигатель DB стоит его соли.