Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Триггеры в mysql 5.1 и mysql 5.5

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ant
Отправлено: 04 Декабря, 2012 - 03:46:50
Post Id



Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Янв. 2011  
Откуда: Украина, Крым


Помог: 0 раз(а)




Здравствуйте.
Создаю 2 триггера:
CODE (SQL):
скопировать код в буфер обмена
  1. DELIMITER |
  2. CREATE TRIGGER `after_insert_invite_friends_to_chat` AFTER INSERT ON `invite_friends_to_chat`
  3.   FOR EACH ROW BEGIN
  4.     INSERT INTO `messages` (`id_user_from`, `id_user_to`, `message`, `dt`, `is_watch`)
  5.       VALUES (NEW.id_user_who,
  6.         NEW.id_user_whom,
  7.         CONCAT((SELECT `lastname` FROM `users` WHERE `id` = NEW.id_user_who),
  8.           ' ',
  9.           (SELECT `name` FROM `users` WHERE `id` = NEW.id_user_who),
  10.           ' приглашает вас в чат: <a href="room.php?code1=',
  11.           NEW.chat_code,
  12.           '&code2=0">перейти в чат</a>'),
  13.         NOW(), 1);
  14.   END|
  15. |
  16. DELIMITER ;
  17.  
  18. DELIMITER |
  19. CREATE TRIGGER `after_delete_invite_friends_to_chat` AFTER DELETE ON `invite_friends_to_chat`
  20.   FOR EACH ROW BEGIN
  21.     DELETE FROM `messages` WHERE `id_user_from` = OLD.id_user_who AND
  22.       `id_user_to` = OLD.id_user_whom AND
  23.       `message` = CONCAT((SELECT `lastname` FROM `users` WHERE `id` = OLD.id_user_who),
  24.       ' ',
  25.       (SELECT `name` FROM `users` WHERE `id` = OLD.id_user_who),
  26.       ' приглашает вас в чат: <a href="room.php?code1=',
  27.       OLD.chat_code,
  28.       '&code2=0">перейти в чат</a>');
  29.   END|
  30. |
  31. DELIMITER ;


На локальном компьютере установлена MySQL 5.5 (Денвер) и все прекрасно работает. При добавлении и удалении (через event событие) записи в таблице invite_friends_to_chat создается и удаляется соответственно запись в таблице messages. А вот на сервере установлена MySQL 5.1.66 и эти 2 триггера не работают (то есть не создается запись в таблице messages после добавления записи в таблице invite_friends_to_chat). Команда show triggers показывает, что триггеры есть. Но они почему-то не работают. Подскажите, пожалуйста, в чем может быть причина?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB