zoukankan      html  css  js  c++  java
  • mysql --->mysql 外键总结

    mysql 外键总结

    • 1.设置外键MySQL ERROR 1005 错误
      MySQL ERROR 1005 (主要是约束不一样导致的)例如:
      1、两表外键的引用类型不一样,如主键是int外键是char,字段长度
      2、两表主键和外键的字符编码不一致,也可能存储引擎不一样,支持外键的存储引擎是innodb

    • 2.MySQL外键约束删除时和更新时各取值的含义
      MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引。在创建索引的时候,可以指定在删除、更新父表时,对子表进行的相应操作,包括RESTRICT、NO ACTION、SET NULL和CASCADE。其中RESTRICT和NO ACTION相同,是指在子表有关联记录的情况下父表不能更新;CASCADE表示父表在更新或者删除时,更新或者删除子表对应记录;SET NULL则是表示父表在更新或者删除的时候,子表的对应字段被SET NULL。

    -3.因为只有InnoDB引擎才允许使用外键,所以,我们的数据表必须使用InnoDB引擎。

    4.如果主从表只是普通的外键约束,则在更新/删除主表记录时,需要先更新/删除从表记录,否则将会报外键约束异常,导致操作失败,如下:

     Cannot delete or update a parent row: a foreign key constraint fails (`test`.`goods`, CONSTRAINT `goods_ibfk_1` FOREIGN KEY (`shop_id`) REFERENCES `shop` (`id`))
    
  • 相关阅读:
    十一.SVM神经网络
    九.自组织竞争神经网络
    八.DBN深度置信网络
    七.RBM受限玻尔兹曼机
    六.随机神经网络Boltzmann(玻尔兹曼机)
    二十公里法则
    五.反馈(Hopfield)神经网络
    Python进行Android开发步骤
    django中的中间件机制和执行顺序
    简单的Python 火车抢票程序
  • 原文地址:https://www.cnblogs.com/frankltf/p/8616630.html
Copyright © 2011-2022 走看看