Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Trigger AFTER INSERT => DELETE FROM, не срабатывает 
:(
    Опции темы
chiffa
Дата 11.2.2014, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: нет
Всего: -1



Всем добрый день. Есть элементарный тригер, суть его работы после добавление записи в таблицу - удалить строку из другой таблицы, но ночему не срабатывает. Данные добавляются нормально, но не удаляются. Подскажите, в чем может быть проблемма. Вот сам триггер:

Код

CREATE TRIGGER `delete_us_sess` AFTER INSERT ON `user_session_jn`
 FOR EACH ROW DELETE FROM track WHERE id = 1;

PM MAIL   Вверх
Akina
Дата 11.2.2014, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(chiffa @  11.2.2014,  14:42 Найти цитируемый пост)
Подскажите, в чем может быть проблемма.

В избыточной кривизне рук.

Цитата с консоли:
Код

mysql> create table track (id int);
Query OK, 0 rows affected (0.70 sec)

mysql> insert into track (id) select 1 union select 2 union select 3;
Query OK, 3 rows affected (0.17 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> create table user_session_jn (id int);
Query OK, 0 rows affected (0.27 sec)

mysql> CREATE TRIGGER `delete_us_sess` AFTER INSERT ON `user_session_jn`
    ->  FOR EACH ROW DELETE FROM track WHERE id = 1;
Query OK, 0 rows affected (0.19 sec)

mysql> select * from track;
+------+
| id   |
+------+
|    1 |
|    2 |
|    3 |
+------+
3 rows in set (0.01 sec)

mysql> insert into user_session_jn (id) select 3 union select 4;
Query OK, 2 rows affected (0.09 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> select * from track;
+------+
| id   |
+------+
|    2 |
|    3 |
+------+
2 rows in set (0.00 sec)

mysql>

Всё удаляется нормально.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
chiffa
Дата 11.2.2014, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: нет
Всего: -1



Цитата(Akina @  11.2.2014,  14:02 Найти цитируемый пост)
В избыточной кривизне рук.


хороший ответ, на все случаи жизни =)  но тригер у меня упорно не срабатывает. Ты в какой версии MySQL делал выше описаный пример?

PM MAIL   Вверх
Akina
Дата 11.2.2014, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(chiffa @  11.2.2014,  16:13 Найти цитируемый пост)
Ты в какой версии MySQL делал выше описаный пример? 

У меня версия 5.6.14.
Но приведённый код гарантированно будет работать в любой версии, начиная с 5.0.23.

Добавлено через 2 минуты и 21 секунду
Цитата(chiffa @  11.2.2014,  16:13 Найти цитируемый пост)
тригер у меня упорно не срабатывает

В студию:

CREATE TABLE обеих таблиц
INSERT INTO для первой таблицы
CREATE TRIGGER
SELECT из первой таблицы
INSERT INTO для второй таблицы
SELECT из первой таблицы

Всё это точно так же, как у меня - цитатой консоли.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 12.2.2014, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(chiffa @  11.2.2014,  14:42 Найти цитируемый пост)
 WHERE id = 1;


Цитата(chiffa @  11.2.2014,  14:42 Найти цитируемый пост)
 не удаляются. 

Вы при любом инсерте удаляете всегда одну и ту же строку с id = 1. Так и задумывалось?


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 12.2.2014, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Ну чтобы уж наверняка...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 12.2.2014, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(Akina @  12.2.2014,  10:29 Найти цитируемый пост)
Ну чтобы уж наверняка... 

Мася не умеет statement триггера? Те, которые файрятся не for each row, а единожды, для каждого выражения insert, не зависимо от того, какое количество записей вставилось фактически. (в доке на вскидку не нашел)


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 12.2.2014, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Нет там таких, триггер файрится не на статемент, а на конкретное действие с таблицей. Да и то не на каждое.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.2619 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.