У меня есть две таблицы, и хотел бы создать триггер для удаления на ticket_reply, когда билет будет удален:Trigger ON ДО ошибки
билет:
+-------------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-----------------+------+-----+---------+----------------+
| id | int(8) unsigned | NO | PRI | NULL | auto_increment |
| user_id | int(8) unsigned | NO | MUL | NULL | |
| status | varchar(6) | NO | | opened | |
| subject | varchar(100) | NO | MUL | NULL | |
| message | text | NO | | NULL | |
+-------------+-----------------+------+-----+---------+----------------+
И ticket_reply:
+-----------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-----------------+------+-----+---------+----------------+
| id | int(8) unsigned | NO | PRI | NULL | auto_increment |
| user_id | int(8) unsigned | NO | | NULL | |
| ticket_id | int(8) unsigned | NO | MUL | NULL | |
| message | text | NO | | NULL | |
+-----------+-----------------+------+-----+---------+----------------+
Кузов:
CREATE TRIGGER `ticket_delete` BEFORE DELETE ON ticket
FOR EACH ROW
BEGIN
DELETE FROM ticket_reply
WHERE ticket_reply.ticket_id = ticket.id;
END
Я получаю сообщение об ошибке: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 5
Почему?
Спасибо.
Да, действительно, он не работал, и теперь он отлично работает с «OLD.id». Это был мой первый триггер :) Я думал, что мне не понадобится «OLD.id», потому что я использую «ПРЕЖДЕ ЧЕМ УДАЛИТЬ», а не «ПОСЛЕ УДАЛЕНИЯ ВКЛ», –