MySQL « INSERT or UPDATE
Задача такова, что необходимо обновить старую запись, если она существует и соответствует определённым правилам, если же такой записи нет или правила не выполняются, то создать новую запись...
Можно ли такое сделать на SQL и без процедур.
Можно ли такое сделать на SQL и без процедур.
1 ответов
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
UPDATE table SET c=c+1 WHERE a=1;
И это необязательно на условие на первичный ключ. Будет отрабатывать и на других уникальных ключах.
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
UPDATE table SET c=c+1 WHERE a=1;
И это необязательно на условие на первичный ключ. Будет отрабатывать и на других уникальных ключах.