MySQL 添加外键到已有表格

MySQL 添加外键到已有表格

MySQL 是一个开源的关系数据库管理系统,被广泛应用于Web应用程序的开发中。 在MySQL 中,外键是一种约束,用于确保表格之间的数据的完整性。本篇文章将重点讲述如何在已存在的表格中添加外键。

阅读更多:MySQL 教程

步骤一:创建外键所需的表格

在添加外键之前,需要创建外键所需的两个表格。以下是一个简单的学生表格和一个课程表格,用以示例说明:

CREATE TABLE student (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  age INT NOT NULL,
  gender VARCHAR(10) NOT NULL,
  address VARCHAR(100) NOT NULL
);

CREATE TABLE course (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  credit INT NOT NULL
);

步骤二:创建外键

用 ALTER TABLE 语句创建外键,使用以下语法:

ALTER TABLE {在哪个表格中添加外键} ADD FOREIGN KEY ({外键列}) REFERENCES {参照的表格}({参照列});

以下将在 student 表格中添加外键:

ALTER TABLE student
ADD FOREIGN KEY (course_id) REFERENCES course(id);

此处新加了一个 course_id 列,在 student 表格中引用课程表格的 id 列。

步骤三:测试外键

测试是否添加了外键,可以执行一个 INSERT 语句来尝试将一个无效的值插入 student 表格中的 course_id 列:

INSERT INTO student (name, age, gender, address, course_id) VALUES ('Bob', 20, 'Male', 'New York', 10);

如果添加了外键,就会收到一个错误消息,告诉你插入了一个无效的外键:

ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`test`.`student`, CONSTRAINT `student_ibfk_1` FOREIGN KEY (`course_id`) REFERENCES `course` (`id`))

总结

通过本文,我们学习了如何在 MySQL 中添加外键到已有的表格中。在实际应用中,我们需要对表格的数据完整性有一个清晰的认识,以便建立正确的约束关系以及保证数据的正确性和安全性。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程