mysql数据表中设置外键
时间: 2023-12-19 13:28:52 浏览: 109
mysql外键设置
在MySQL数据表中设置外键需要注意以下几点:
1. 需要建立主外键关系的两个表的存储引擎必须是InnoDB。
2. 外键列和参照列必须具有相似的数据类型,即可以隐式转换的数据类型。
3. 外键列和参照列必须创建索引,如果外键列没有索引,需要先创建索引。
4. 从表的外键关联的必须是主表的主键,且主键和外键的数据类型必须一致。
5. 在创建从表时,如果不满足以上要求,就会出现“ERROR 1005(HY000): Can't create table”错误。
创建外键约束的SQL语句如下所示:
ALTER TABLE 从表名称 ADD CONSTRAINT 外键名称 FOREIGN KEY (从表外键列名称) REFERENCES 主表名称(主表主键列名称);
例如,创建数据表tb_emp6,并在表tb_emp6上创建外键约束,让它的键deptId作为外键关联到表tb_dept1的主键id,SQL语句如下所示:
CREATE TABLE tb_emp6 (
id INT PRIMARY KEY,
name VARCHAR(20),
deptId INT,
FOREIGN KEY (deptId) REFERENCES tb_dept1(id)
);
阅读全文