当前位置:首页>行业动态> 正文

MySQL中如何创建外键

在MySQL中,创建外键需要在创建表时使用FOREIGN KEY约束。以下是一个示例:,,“sql,CREATE TABLE 子表 (, id INT PRIMARY KEY,, 外键列名 INT,, FOREIGN KEY (外键列名) REFERENCES 主表(主键列名),);,

在MySQL中创建外键,需要遵循以下步骤:

1、定义表结构

2、添加外键约束

3、创建表

4、插入数据

5、测试外键约束

下面是一个详细的示例:

1. 定义表结构

假设我们有两个表:studentscoursesstudents表包含学生信息,courses表包含课程信息,我们需要在students表中添加一个外键,引用courses表的主键。

students 表结构:

字段名类型描述
id INT 主键
name VARCHAR(50)姓名
course_id INT 课程ID

courses 表结构:

字段名类型描述
id INT 主键
name VARCHAR(50)课程名

2. 添加外键约束

students表中的course_id字段上添加外键约束,引用courses表的id字段。

ALTER TABLE students
ADD FOREIGN KEY (course_id) REFERENCES courses(id);

3. 创建表

创建studentscourses表。

CREATE TABLE courses (
  id INT PRIMARY KEY,
  name VARCHAR(50) NOT NULL
);
CREATE TABLE students (
  id INT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  course_id INT
);

4. 插入数据

coursesstudents表中插入数据。

INSERT INTO courses (id, name) VALUES (1, '计算机科学');
INSERT INTO courses (id, name) VALUES (2, '软件工程');
INSERT INTO students (id, name, course_id) VALUES (1, '张三', 1);
INSERT INTO students (id, name, course_id) VALUES (2, '李四', 2);

5. 测试外键约束

尝试插入一条违反外键约束的数据。

INSERT INTO students (id, name, course_id) VALUES (3, '王五', 3);

由于courses表中没有id为 3 的记录,因此这条插入语句会失败,提示外键约束错误。