在MySQL中,外键约束是一种数据库完整性约束,它用于确保两个表之间的数据引用完整性。外键约束要求一个表中的列的值必须是另一个表的主键列的值,或者为NULL(如果允许的话)。
假设我们有两个表:users 和 orders,其中 orders 表中的 user_id 字段是外键,引用 users 表中的 id 字段(主键)。
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL
);
CREATE TABLE orders (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
amount DECIMAL(10, 2),
FOREIGN KEY (user_id) REFERENCES users(id)
ON DELETE CASCADE
ON UPDATE CASCADE
);FOREIGN KEY (user_id) REFERENCES users(id):定义 orders 表中的 user_id 字段为外键,引用 users 表中的 id 字段。ON DELETE CASCADE:当 users 表中的记录被删除时,orders 表中对应的记录也会被删除。ON UPDATE CASCADE:当 users 表中的 id 字段更新时,orders 表中对应的 user_id 字段也会自动更新。通过上述语句和解释,你可以理解如何在MySQL中添加外键约束,并了解其基础概念、优势、类型和应用场景。