Помогите научиться общаться MySQL

Flanker

незнайка
Помогите научиться общаться MySQL

Как одним запросом сказать?
Если запись с полем IP уже существует, то изменть, иначе вставить новую запись.

Меня хватило выполнить это только через два звапроса, что не очень эффективно!

Спасибо.
 

Flanker

незнайка
Я знаю что в базе возможно использовать exists(), но я не знаю как им пользоваться.
 

AndreyKl

Новичок
INSERT INTO table_name (PRIMARY, field1, number) VALUES('should_be_unique', 'value1', '0') ON DUPLICATE KEY UPDATE SET number=number+1;

-~{}~ 02.09.06 23:58:

там должно быть UPDATE number=number+1, без SET. Вот рабочий запрос.
date здесь - первичный ключ. Возможно он не обязательно должен быть первичным, смотри доки, если надо, или просто поробуй.
PHP:
INSERT INTO countMessages (`date`, count) VALUES (CURDATE(),1) ON DUPLICATE KEY UPDATE count=count+1;
 

Фанат

oncle terrible
Команда форума
AndreyKl
никогда не пробовал читать вопрос перед тем, как на него отвечать?
попробуй. вдруг тебе понравится.
а заодно и мне меньше будет работы - в мусрпку выкидывать
 
Сверху