m ysql数据库设置外键
时间: 2023-12-06 20:39:35 浏览: 84
在 MySQL 中,可以使用外键来建立两个表之间的关联关系。要设置外键,必须满足以下两个条件:
1. 在创建表时,需要使用 ENGINE=INNODB 语句来指定使用 InnoDB 引擎。
2. 在创建表时,需要使用 FOREIGN KEY 语句来定义外键。
下面是一个示例代码,展示如何在 MySQL 中设置外键:
```
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50)
) ENGINE=INNODB;
CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
order_date DATE,
FOREIGN KEY (user_id) REFERENCES users(id)
) ENGINE=INNODB;
```
在上述代码中,我们创建了两个表:users 和 orders。在 orders 表中,我们定义了一个外键 user_id,它引用了 users 表中的 id 字段。这意味着,每个订单都必须关联到一个有效的用户。如果尝试插入一个无效的 user_id,则会出现错误。
此外,还可以使用 ON DELETE 和 ON UPDATE 子句来指定外键的删除和更新行为。例如:
```
CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
order_date DATE,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
) ENGINE=INNODB;
```
在上述代码中,我们使用 ON DELETE CASCADE 子句来指定当删除用户时,与该用户相关的所有订单也将被删除。
阅读全文