![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
yulyaT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 30.1.2012 Репутация: нет Всего: нет |
В MYSQL возможно ли создание триггера для update и insert одновременно,
т.е. если строка существует, то update иначе insert? Если да, для понимания малюсенький пример плс??? Факи и мануалы только запутали:( Заранее спасибо!! |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Для этого существует insert ... on duplicate key update ..., не надо никаких триггеров.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
yulyaT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 30.1.2012 Репутация: нет Всего: нет |
||||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
yulyaT |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 30.1.2012 Репутация: нет Всего: нет |
Не сработало у меня:( 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 |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
Для того чтобы on duplicate key имел хоть какой нибудь смысл, наверное, у таблицы должен быть ключ - нет?
Добавлено через 56 секунд Но как бы там ни было, отсутствие ключа, далеко не синтаксическая ошибка -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
И что, трудно check the manual и внести необходимую корректировку? http://dev.mysql.com/doc/refman/5.5/en/ins...-duplicate.html -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
yulyaT |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 30.1.2012 Репутация: нет Всего: нет |
Доверилась гуру, без set работает!! Тем временем написала по аналогии с MSSQL без триггера и без процедуры (с этой же таблицей)
на if ошибка. И тут вилы:( При попытке заменить этот if на
Ошибка на set:( По описанию MYSQL 5.5 declare допустимо только в процедурах:( Внутри if нельзя select написать или у меня здесь тоже ошибка? А как вы выкручиваетесь напр. в такой MSSQL конструкции:
|
||||||||
|
|||||||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Мануал под рукой, подробности работы с переменными там. С примерами... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 1 Всего: 101 |
||||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |