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

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 的记录,因此这条插入语句会失败,提示外键约束错误。

0