mysql数据库navicat

如何关联同一数据库的两个表。实现三级联动
新建一个表有三个字段id(自增),code(主键),name
在这里插入图片描述
在这里插入图片描述
保存会报错,因为:一个表中的自增字段必须设为主键。那怎么解决那?把id设成unique唯一所有。
在这里插入图片描述
在indexs下增加索引,四个用到的索引解释如下
在这里插入图片描述

PRIMARY:主键索引。索引列唯一且不能为空;一张表只能有一个主键索引(主键索引通常在建表的时候就指定)
normal:表示普通索引
unique:表示唯一的,可以为空,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique。
full text: 表示 全文搜索的索引。 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以。

hash和btree索引的区别感兴趣的可以看以下链接:
https://blog.csdn.net/u014307117/article/details/47325091
同样方式建另一个表province。

  1. CASCADE: 从父表中删除或更新对应的行,同时自动的删除或更新自表中匹配的行。ON DELETE CANSCADE和ON UPDATE CANSCADE都被InnoDB所支持。
  2. SET NULL: 从父表中删除或更新对应的行,同时将子表中的外键列设为空。注意,这些在外键列没有被设为NOT NULL时才有效。ON DELETE SET NULL和ON UPDATE SET SET NULL都被InnoDB所支持。
  3. NO ACTION: InnoDB拒绝删除或者更新父表。
  4. RESTRICT: 拒绝删除或者更新父表。指定RESTRICT(或者NO ACTION)和忽略ON DELETE或者ON UPDATE选项的效果是一样的。

猜你喜欢

转载自blog.csdn.net/qq_39008205/article/details/92378815