美文网首页
外键约束

外键约束

作者: 简单可靠才可信 | 来源:发表于2019-12-06 15:57 被阅读0次

FOREIGN KEY(将要设置为外键的字段) REFERENCES 表名(要依赖的主键)

这里是创建一张家族表
CREATE TABLE `family` (
      `name` VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名字',
      `exp` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '经验',
      `notice` VARCHAR(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '公告',
      `board` VARCHAR(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '黑板',
      PRIMARY KEY (`name`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- name:名称,varchar类型表示,长度限制32位,这里说明一下varchar没有占位符,
-- char定义是固定长度的,即使不足也会使用空格填充
-- utf8mb4_unicode_ci是指字符编码形式,此编码是基于标准的Unicode来排序和比较,
-- 能够在各种语言之间精确排序
-- COMMENT是添加说明的关键字
-- INT UNSIGNED是指使用无符号int类型,不能出现负数
-- PRIMARY KEY设置主键,这里可以设置多个主键,以逗号分隔

ENGINE=InnoDB这里的这个代码意思指使用InnoDB数据库引擎(InnoDB用于事务处理)

DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci这里的代码含义指使用默认的字符集和默认的字符编码形式

这里是创建一张家族历史表
CREATE TABLE `familyhistory` (
      `hid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '历史id',
      `name` VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '家族名字',
      `msg` VARCHAR(256) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作信息',
      PRIMARY KEY (`hid`, `name`),
      CONSTRAINT `familyhistory_ibfk_1` FOREIGN KEY (`name`) REFERENCES `family` (`name`) ON DELETE CASCADE
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CONSTRAINT:约束关键字
CONSTRAINT `familyhistory_ibfk_1`含义是创建约束名为familyhistory_ibfk_1
FOREIGN KEY (`name`)含义是创建外键name
REFERENCES `family` (`name`)意思是参考family表中的主键name
ON DELETE CASCADE这条命令是做级联删除,意思是删除参考值时,约束值自动删除

相关文章

  • 5 MySQL 命令

    [Toc] 1 禁用外键约束 禁用外键约束:SET FOREIGN_KEY_CHECKS=0 启用外键约束:set...

  • 外键约束

    外键约束主要包含添加外键和删除外键。 1、外键约束-添加外键 create table 表名(字段名 数据类型,....

  • SQL Server 临时禁用和启用所有外键约束(迁移数据或删除

    获得禁用所有外键约束的语句 获得启用所有外键约束的语句 执行结果

  • sql 添加索引,外键约束

    索引 外键约束

  • Mysql foreign key and trigger

    外键约束与触发器 建表 主表 users 副表 user_info 外键约束 副表 user_info 添加外键约...

  • SQL中增删外键约束

    1. 删除外键约束 查询出表中外键约束 删除约束alter table 表名 drop constraint 外键...

  • 外键约束

    约束:NOT NULL,PRIMARY KEY,UNIQUE KEY,DEFAULT,FOREIGN KEY 约束...

  • 外键约束

    外键约束的本质就是增加数据的可重复利用性。也就是说假如我们有一个省份的表:P表,这个表里存储着中国34个省份名称并...

  • 外键约束

    外键的定义: 如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。 外键的作用 ...

  • 外键约束

    FOREIGN KEY(将要设置为外键的字段) REFERENCES 表名(要依赖的主键) 这里是创建一张家族表...

网友评论

      本文标题:外键约束

      本文链接:https://www.haomeiwen.com/subject/abdegctx.html