mysql - 在 phpMyAdmin MySQL 表中添加一个 TRIGGER 以删除表 A 中的一行,它对应的行在表 B 中被删除

标签 mysql triggers

我有两个表,名为 RESERVATIONSRESERVATION DETAILS

RESERVATIONS 的主键 reservationIdRESERVATION DETAILS 中的外键。

在我的网站中,用户可以从 RESERVATION 表中删除预订。

如何添加一个 TRIGGER,以便在 RESERVATION 表中删除 reservationId 时,与 reservationId 对应的行RESERVATION DETAILS 也被删除了吗?

使用 phpMyadmin。

最佳答案

如果您总是希望在删除RESERVATIONS中的父行时无条件删除RESERVATION_DETAILS,您可以在您的外部定义ON DELETE CASCADE key 。 RESERVATION_DETAILS 的定义如下所示:

CREATE TABLE RESERVATION_DETAILS (
    reservationDetailId INT,
    reservationId INT,
    -- etc...

    FOREIGN KEY (reservationId)
        REFERENCES RESERVATIONS(reservationId)
        ON DELETE CASCADE
);

参见 MySQL documentation了解更多详情。

关于mysql - 在 phpMyAdmin MySQL 表中添加一个 TRIGGER 以删除表 A 中的一行,它对应的行在表 B 中被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29381673/

相关文章:

php - 根据数据库值动态改变宽度

php/mysql 随机排序日期

mysql - 尝试导入大型 sql 数据库文件时在 DBeaver mysql 中出现错误

WPF XAML 网格可见性触发器

mysql - 在 MySQL 触发器中使用 IF 语句插入多行

mysql触发器和phpmyadmin

mysql - Rails 3 在 2 个表之间进行连接

php - 是否可以一次将多个数据添加到一列中?

mysql - 如何实现记录mysql数据库的所有更改?

MySQL触发器: ERROR 1064 (42000): You have an error in your SQL syntax