50字范文,内容丰富有趣,生活中的好帮手!
50字范文 > mysql外键约束怎么创建

mysql外键约束怎么创建

时间:2021-12-11 08:24:33

相关推荐

mysql外键约束怎么创建

数据库|mysql教程

mysql,外键约束

数据库-mysql教程

php 百科源码,vscode补全速度,ubuntu汉语输入,tomcat处理请求流程,sqlite数据库回车符,一周喂一次的爬虫可以吗,php中的var,seo营销方式稳定吗,外贸网站特效,京东模板开发lzw

我们可以在创建表时设置外键约束。

触摸屏组态软件 源码,vscode写前端怎么调试,mac 上装ubuntu,tomcat 更改日志,爬虫如何换行,建设银行接口php,江苏seo费用公司在哪里,导航网站建导航网站建站站,php个人网站模板下载lzw

在 CREATE TABLE 语句中,通过 FOREIGN KEY 关键字来指定外键,具体的语法格式如下:

传奇html源码,ubuntu电脑时间同步,Java通过xpath爬虫,php视频推荐,小鹿课堂seolzw

[CONSTRAINT ] FOREIGN KEY 字段名 [,字段名2,…]REFERENCES 主键列1 [,主键列2,…]

举例:

现在在 test_db 数据库中创建一个部门表 tb_dept1,表结构下图例:

创建 tb_dept1 的 SQL 语句和运行结果如下所示。

mysql> CREATE TABLE tb_dept1 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(22) NOT NULL, -> location VARCHAR(50) -> );Query OK, 0 rows affected (0.37 sec)

创建数据表 tb_emp6,并在表 tb_emp6 上创建外键约束,让它的键 deptId 作为外键关联到表 tb_dept1 的主键 id,SQL 语句和运行结果如下所示。

mysql> CREATE TABLE tb_emp6 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(25), -> deptId INT(11), -> salary FLOAT, -> CONSTRAINT fk_emp_dept1 -> FOREIGN KEY(deptId) REFERENCES tb_dept1(id) -> );Query OK, 0 rows affected (0.37 sec)mysql> DESC tb_emp6;+--------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+--------+-------------+------+-----+---------+-------+| id| int(11)| NO | PRI | NULL | || name | varchar(25) | YES || NULL | || deptId | int(11)| YES | MUL | NULL | || salary | float | YES || NULL | |+--------+-------------+------+-----+---------+-------+4 rows in set (1.33 sec)

以上语句执行成功之后,在表 tb_emp6 上添加了名称为 fk_emp_dept1 的外键约束,外键名称为 deptId,其依赖于表 tb_dept1 的主键 id。

注意:从表的外键关联的必须是主表的主键,且主键和外键的数据类型必须一致。例如,两者都是 INT 类型,或者都是 CHAR 类型。如果不满足这样的要求,在创建从表时,就会出现“ERROR 1005(HY000): Can’t create table”错误。

推荐教学:mysql教学

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。