mysql级联

一:关于级联

delete on cascade 表示当删除删除父表的信息时候会将相关的子表的信息也删除。
delete on restrict 表示当删除父表的时候,如果有子表与父表有关系,会拒绝。
delete on set null 标识当删除父表的时候,如果有子表与父表有关系,会将子表的信息设置为null,前提是当前限制为允许为null。
进行插值的时候,先有父表,才有子表。

二:关于数据库建表

mysql建表语句:

COLLATE = utf8_general_ci

1. COLLATE = utf8_general_ci

  • 若一张表里面不存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这个表其实也叫静态表,即该表的row_format是fixed,就是说每条记录所占用的字节一样。其优点读取快,缺点浪费额外一部分空间。

  • 若一张表里面存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这个表其实也叫动态表,即该表的row_format是dynamic,就是说每条记录所占用的字节是动态的。其优点节省空间,缺点增加读取的时间开销。

  • 所以,做搜索查询量大的表一般都以空间来换取时间,设计成静态表。

2. ROW_FORMAT = Dynamic

  • collate utf_bin是 以二进制值比较,也就是区分大小写,collate是核对的意思

  • uft-8_general_ci 一般比较,不区分大小写

3. 取消和开启外键约束

Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构。

  • 解决方法:
    在Mysql中取消外键约束:
    SET FOREIGN_KEY_CHECKS=0;

  • 然后将原来表的数据导出到sql语句,重新创建此表后,再把数据使用sql导入,

  • 然后再设置外键约束:
    SET FOREIGN_KEY_CHECKS=1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值