| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > CREATE TRIGGER |
| Автор: yulyaT 26.6.2012, 11:03 |
| В MYSQL возможно ли создание триггера для update и insert одновременно, т.е. если строка существует, то update иначе insert? Если да, для понимания малюсенький пример плс??? Факи и мануалы только запутали:( Заранее спасибо!! |
| Автор: Akina 26.6.2012, 13:08 | ||
Для этого существует insert ... on duplicate key update ..., не надо никаких триггеров.
|
| Автор: yulyaT 26.6.2012, 14:08 |
Спасибо!! В MSSQL такой конструкции не было. Сейчас почитаю... Если есть очень простой, но РАБОТАЮЩИЙ пример триггера в MYSQL, очень хотелось бы посмотреть как это вообще делается в MYSQL. |
| Автор: Akina 26.6.2012, 14:37 |
| http://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html |
| Автор: yulyaT 27.6.2012, 12:01 | ||||||
Не сработало у меня:( MySQL said: Documentation #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set val=val+1' at line 1 Создаю таблицу
и пробую on duplicate key , не работает, тогда делаю так
и после этого insert с on duplicate key и тоже не работает. Что не так у меня написано? |
| Автор: Zloxa 27.6.2012, 12:45 |
| Для того чтобы on duplicate key имел хоть какой нибудь смысл, наверное, у таблицы должен быть ключ - нет? Добавлено через 56 секунд Но как бы там ни было, отсутствие ключа, далеко не синтаксическая ошибка |
| Автор: Akina 27.6.2012, 12:51 |
И что, трудно check the manual и внести необходимую корректировку? http://dev.mysql.com/doc/refman/5.5/en/insert-on-duplicate.html |
| Автор: yulyaT 27.6.2012, 13:20 | ||||||||
Доверилась гуру, без set работает!! Тем временем написала по аналогии с MSSQL без триггера и без процедуры (с этой же таблицей)
на if ошибка. И тут вилы:( При попытке заменить этот if на
Ошибка на set:( По описанию MYSQL 5.5 declare допустимо только в процедурах:( Внутри if нельзя select написать или у меня здесь тоже ошибка? А как вы выкручиваетесь напр. в такой MSSQL конструкции:
|
| Автор: Akina 27.6.2012, 13:37 | ||
Мануал под рукой, подробности работы с переменными там. С примерами... |
| Автор: baldina 27.6.2012, 14:04 |
в MSSQL есть MERGE (который, в отличие от on duplicate key, соответствует стандарту SQL) |