您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

InnoDB 中foreign key使用注意事项

2024/5/4 12:04:14发布40次查看
在 sel statement 中的inserts,deletes,updates 很多行的时候,fk 会一行一行检查。 innodb是设置 shared row_level locks 在父表
innodb foreign key 和 sql  standards的区别:
在 sel statement 中的inserts,deletes,updates 很多行的时候,fk 会一行一行检查。 innodb是设置 shared row_level locks 在父表或者子表上,mysql check 会立即检查是否有符合的行,,并不会推迟到事务提交的时候,在innodb上建立fk的条件:
1、innodb允许关联到一个index或者一组 columns(第一个column 必须是index)
2、innodb不支持在用户自定义的分区表上建立fk
3、innodb允许fk关联到一个non-unique key .
关联的所涉及到的动作:
1、set default mysql server 支持,但innodb不支持。
2、如果子表中对应父表的多条记录,如果constraint type 为restrict,那么innodb是不允许删除
父表当中的这几条记录的。
3、innodb进行级联操作时,使用depth-first 算法,通过行记录的索引进行查找
4、on update cascade or on update set null 不能进行self-referential
可以在 information_schema.key_column_usage 中查看 innodb key的具体情况。也可以通过show
engine innodb status 来 进行查看 fk 的错误。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product