Условия в запросах

Дед Анвирыч

Новичок
Условия в запросах

Можноли одним запросом реализовать что-то вроде:
PHP:
if ((SELECT COUNT(*) FROM table WHERE a=0)==0){
INSERT INTO table (a, b, c) VALUES ('0', '1' , '2')
}else{
UPDATE table SET b=1 WHERE a=0
}
 
Тони REPLACE не покатит, т.к. ему надо, что бы запросы выполнялись в зависимости от результата SELECT.
 
>Если есть запись - апдейтить, если нет - добавить
ну это и есть REPLACE по идее.
 
Прошу прощения, но не совсем понял значени енеобязательного INTO в синтаксесе:
[SQL]
REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name [(col_name,...)]
VALUES (expression,...),(...),...
[/SQL]
 
это значит что ты его можешь указывать, а можешь не указывать, суть запроса от этого не поменяется.
 
И вроде как выходит, что изменяить значение можно только тех полей которые проверяются... Т.е. если мне надо проверить на наличие записи со значениями полей a, b то и значения я только их изменить могу? Так?
Т.е. повеить a, b и зменить с уже не выйдет?
 
Т.е. Я хочу найти есть ли запсь с a=1, b=2 и установить c=3
Либо просто добавить запись a=1, b=2, c=3 если такой записи нет
 
> изменяить значение можно только тех полей которые проверяются...

ты не правильно понял. При REPLACE данные либо обновляются, если проверяемые поля совпадают, либо добавляется новая строка.
 
Апельсин, любезный, объясни чайнику как реализовать мой пример, а то че-то я из мануала нифига не понял :(
 
Понятно, спасибо. А то я почему-то подумал что нужно вручную указать поля по каоторым сравнивать
 
Сверху