数据库|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教学