你好,同事。MySQL之前刪除觸發器雙連接和條件
我有樣的一個問題試圖刪除觸發器有多個連接和條件之前實施。
我有用戶表,組和連接表,使它成爲許多。
觸發的感覺是允許刪除沒有學生的組,並禁止其他人。
我對現在的代碼是:
DELIMITER //
CREATE TRIGGER
groups_before_delete BEFORE DELETE ON groups
FOR EACH ROW
BEGIN
DECLARE students int;
SET students = (SELECT
count(title)
FROM
users u
INNER JOIN student_to_group stg ON (u.id = stg.student_id)
INNER JOIN groups g ON (stg.group_id = g.id)
GROUP BY
group_id
HAVING
group_id = OLD.id);
IF students = 0 THEN DELETE FROM groups where id = OLD.id;
END IF;
END;//
DELIMITER ;
它通過語法檢查,但不起作用。有什麼建議嗎?
在此先感謝。
更好地用'ON DELETE RESTRICT'定義一個外鍵。 https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html –
是的,我知道這種方式。外鍵是另一種方式,問題是如何用觸發器來實現。不管怎麼說,還是要謝謝你。 – Bandydan