Ich habe zwei Tabellen und möchte einen Trigger erstellen ticket_reply zu löschen, wenn ein Ticket gelöscht:Trigger auf VOR Fehler
Ticket:
+-------------+-----------------+------+-----+---------+----------------+
| 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 | |
+-------------+-----------------+------+-----+---------+----------------+
Und 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 | |
+-----------+-----------------+------+-----+---------+----------------+
Mein Auslöser:
CREATE TRIGGER `ticket_delete` BEFORE DELETE ON ticket
FOR EACH ROW
BEGIN
DELETE FROM ticket_reply
WHERE ticket_reply.ticket_id = ticket.id;
END
Ich erhalte die Fehlermeldung: #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
Warum?
Danke.
Ja in der Tat, es hat nicht funktioniert und jetzt funktioniert es gut mit 'OLD.id'. Es war mein erster Trigger :) Ich dachte, ich würde 'OLD.id' nicht brauchen, weil ich' BEVOR LÖSCHEN EIN' und nicht 'NACH LÖSCHEN EIN' verwende –