Mybatis有关级联删除和更新

    xiaoxiao2021-03-25  102

    父级 主键被其它表作为外键              子级表示把其它表的主键作为自己的外键

    RESTRICTNO ACTIONSET NULL    CASCADE

    RESTRICTNO ACTION表示子级有数据改变是父级数据不更新

    SET NULL  表示父级在更新或者删除时将子记录列的值设为null

    ON DELETE CASCADE  表示父记录删除时子记录对应的列数据也删除

    ON UPDATE CASCADE  表示父记录更新时子记录对应的列数据也更新

    1:在创建表的时候就对外键定义成级联删除或者更新

    CREATE TABLE `order` (

      `id` int(4) NOT NULL AUTO_INCREMENT,

      PRIMARY KEY (`id`),

      CONSTRAINT `约束名(可随意,不可重复)` FOREIGN KEY (`外键名在本表中列名`) REFERENCES `外键表名` (`外键表列名`) ON DELETE CASCADE ON UPDATE CASCADE

    )

    这样把父级删除后子级的数据也会删除

    2:这种方法是最笨的方法 也就是一条一条把把父级作为外键的子记录的数据  写sql一条一条的删除  通过父级的id 去删除

    例如: delete from order where "外键名在本表中列名" =user.id;

    转载请注明原文地址: https://ju.6miu.com/read-8098.html

    最新回复(0)