
- 前言:hello 大家好
- 我们又见面了
- 今天给大家分享一下Navicat 在添加mysql表的外键时报错1005 的情况。
- 可能没多大用 但还是简单的记录一下。
- 话不多说 直接开整
- 说到外键这个东西真的是让人又爱又恨 怎么说呢
- 爱是因为它可以优化数据检索速度,为开发人员省下了不少工作 恨是因为它的关联性 和维护起来有点麻烦
- 但是无奈 还是得用到它。
- MySQL 表外键
- 外键是一个在关联式表中符合另一个表主键的栏位。外键可以用作交叉参考表。
- 在表设计器的 外键 选项卡管理表外键。只需简单地点击或双击一个外键栏位来编辑。右击来显示弹出菜单或使用外键工具栏,能让你创建新的、编辑或删除选择的外键栏位。
- 注意:MySQL 3.23.44 或以上版本支持外键。
-
- 添加外键
- 添加一个外键
- 在表设计器中打开表。
- 打开 外键 选项卡。
- 右击并在弹出菜单中选择 添加外键 或在工具栏点击 添加外键。
- 编辑外键属性。
- 注意:两个表必须是 InnoDB 类型(或如果你有 solidDB 类型 solidDB for MySQL)。在参考表中,必须有一个索引,在外键列以相同排序编入第一列。由 MySQL 4.1.2 开始,如果该索引不存在,它将会在参考表中自动创建。
-
- 编辑外键
- 编辑一个外键
- 在表设计器中打开表。
- 打开 外键 选项卡。
- 只需点击或双击外键来编辑。
- 注意:MySQL 4.0.13 或以上版本支持。
-
- 删除外键
- 删除一个外键
- 在表设计器中打开表。
- 打开 外键 选项卡。
- 在要删除的外键上右击并在弹出菜单中选择 删除外键 或在工具栏点击 删除外键。
- 在对话窗口确认删除。
- 注意:MySQL 4.0.13 或以上版本支持。
-
- Error 1005: can not create table(Error150)
- 首先确保自己的表为innoDB类型,若不是,可以更新表的引擎
- alter table work engine =innodb;
- 然后可以查看表(这里work为表名)的结构
- show create table work;
- 若Navicat依然报错,建议用命令行添加外键约束
- alter table 表A add constraint 外键名 foreign key (person_no) references 表C(person_no) ON UPDATE CASCADE ON DELETE CASCADE
- ON DELETE
- restrict(约束):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。
- no action:意思同restrict.即如果存在从数据,不允许删除主数据。
- cascade(级联):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则也删除外键在子表(即包含外键的表)中的记录。
- set null:当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则设置子表中该外键值为null(不过这就要求该外键允许取null)
- ON UPDATE
- restrict(约束):当在父表(即外键的来源表)中更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许更新。
- no action:意思同restrict.
- cascade(级联):当在父表(即外键的来源表)中更新对应记录时,首先检查该记录是否有对应外键,如果有则也更新外键在子表(即包含外键的表)中的记录。
- set null:当在父表(即外键的来源表)中更新对应记录时,首先检查该记录是否有对应外键,如果有则设置子表中该外键值为null(不过这就要求该外键允许取null)。
-
- 注:NO ACTION和RESTRICT的区别:只有在及个别的情况下会导致区别,前者是在其他约束的动作之后执行,后者具有最高的优先权执行。
- 到这就结束了 感兴趣的小伙伴可以参考下面这个链接
-
- 原文链接:
- https://blog.csdn.net/SXT_fighting/article/details/76231985
- 每日一笑,今天你笑了吗?
- 1.某程序员夫妇新婚,
- 一年之后喜得贵子,取名"灵灵"
- 过一年后又喜得一女,取名"灵伊"
- 两年之后得子"伊灵"
- 两年之后,夫妇商定为得圆满再生一子,取名"伊伊"
- 不料产科发现所怀为双胞胎,夫欲减胎,妻不允,冥思许久,对夫曰:"老五就叫'忆初'吧…"
-
- 2.程序员的读书历程:
- x语言入门 —> x语言应用实践 —> x语言高阶编程 —> x语言的科学与艺术 —>编程之美 —>编程之道 —>编程之禅—>颈椎病康复指南。
评价