首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL实战七:你不知道的外键与约束使用!

update 则是主键表中被参考字段的值更新,delete是指在主键表中删除一条记录: on update 和 on delete 后面可以跟的词语有四个:no action , set null ,...no action 表示 不做任何操作, set null 表示在外键表中将相应字段设置为null set default 表示设置为默认值(restrict) (1)on delete cascade...如果没有使用`on delete/update cascade`,不能删除或更新父表数据,当删除父表的数据时候报错!...上述on delete cascade换成on update cascade,可以发现只能更新父表的主键,同时父子表数据都会被更新,但是在子表的外键上做更新操作无效!...如果没有使用on delete/update cascade,不能删除或更新父表数据。

4.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

外键约束

| cascade | set null | on action }]             [on update {restrict | cascade | set null | on action...}]     该语法可以在create table 和 alter table时使用,如果指定 constraint 外键名 ,mysql会自动生成一个名字,可以通过 show create...cascade                 on update cascade); 解除外键:alter table 表名 drop foreign key 外键名;   注意:删除外键后发现...cascade: on delete cascade on update cascade         当主表删除记录或更改被参照字段的值时,从表会级联更新 :这个比较危险,容易级联把数据都删除...set null: on delete set null on update set null         当主表删除记录时,从表外键字段值变成 null         当主表更新主键字段值时,

1.6K20

MYSQL回顾(完整性约束相关)

> set session auto_increment_increment=5; 设置全局级别步长 注意:设置全局级别步长需要退出本次会话再次登录才生效 mysql> set global auto_increment_increment...mysql> set global auto_increment_offset=3; 连续主键 +----+--------------+------------+ | id | title...4.更新数据 强行更新被关联表中的记录的主键也会报错,因为关联表中还存在一些记录的外键指向被关联表 update dep set id=333 where id=3; 解决方案 创建关联表(员工表)的时候增加删除同步和更新同步...on delete cascade on update cascade mysql> create table emp( -> id int not null primary key,...cascade -> on update cascade -> ); Query OK, 0 rows affected (0.02 sec) 注意:下图红框中换行无逗号 因为同属于一句

5.8K20

MySQL外键使用详解--Java学习网

最近有开始做一个实验室管理系统,因为分了几个表进行存储・所以要维护表间的关联・・研究了一下MySQL的外键。...和on update , 可设参数cascade(跟随外键改动), restrict(限制外表中的外键改动),set Null(设空值),set Default(设默认值),[默认]no action...cascade on update cascade); 说明:把id列 设为外键 参照外表outTable的id列 当外键的值删除 本表中对应的列筛除 当外键的值改变 本表中对应的列值改变。...代码如下: create table temp( id int, name char(20), foreign key(id) references outTable(id) on delete cascade...on update cascade); 缺点:在对MySQL做优化的时候类似查询缓存,索引缓存之类的优化对InnoDB类型的表是不起作用的,还有在数据库整体架构中用得同步复制也是对InnoDB类型的表生效的

88740

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券