mysql在创建表时设置外键语法
时间: 2023-08-29 09:06:16 浏览: 88
在 MySQL 中,可以在创建表时设置外键。其语法如下:
```
CREATE TABLE 表名 (
列1 数据类型,
列2 数据类型,
...
CONSTRAINT 外键名称
FOREIGN KEY (列1)
REFERENCES 参考表名(参考列)
);
```
其中,`表名` 表示要创建的表的名称,`列1` 表示要设置外键的列名,`参考表名` 表示被引用的表的名称,`参考列` 表示被引用表的列名。`外键名称` 是可选的,如果没有指定,MySQL 会自动为其生成一个名称。
例如,我们创建一个名为 `orders` 的订单表,其中 `customer_id` 列为外键,参考表为 `customers` 表的 `id` 列,可以使用以下语句:
```
CREATE TABLE orders (
id INT PRIMARY KEY,
customer_id INT,
amount DECIMAL(10, 2),
CONSTRAINT fk_orders_customers
FOREIGN KEY (customer_id)
REFERENCES customers(id)
);
```
这样就创建了一个名为 `fk_orders_customers` 的外键,将 `orders` 表的 `customer_id` 列与 `customers` 表的 `id` 列关联起来。
相关问题
mysql创建表时设置外键
要在 MySQL 中创建一个带有外键的表,可以使用以下语法:
```
CREATE TABLE 表名 (
列1 数据类型,
列2 数据类型,
...
FOREIGN KEY (外键列名) REFERENCES 关联表名(关联列名)
);
```
其中,关键字 `FOREIGN KEY` 指定了外键列名,关键字 `REFERENCES` 指定了关联的表名和列名。
例如,创建一个 `orders` 表,其中包含一个 `customer_id` 列,它是一个外键,引用了 `customers` 表的 `id` 列:
```
CREATE TABLE orders (
id INT PRIMARY KEY,
customer_id INT,
order_date DATE,
...
FOREIGN KEY (customer_id) REFERENCES customers(id)
);
```
这将创建一个名为 `orders` 的表,其中有一个名为 `customer_id` 的列,它是一个外键,它引用了名为 `customers` 的表中的 `id` 列。
mysql创建表时设置多个外键
在 MySQL 中,要在一个表中设置多个外键,可以使用以下语法:
```
CREATE TABLE 表名 (
列1 数据类型,
列2 数据类型,
...
CONSTRAINT 约束名1 FOREIGN KEY (外键列名1) REFERENCES 关联表名1(关联列名1),
CONSTRAINT 约束名2 FOREIGN KEY (外键列名2) REFERENCES 关联表名2(关联列名2),
...
);
```
其中,关键字 `CONSTRAINT` 指定了约束名称,用于标识外键约束,关键字 `FOREIGN KEY` 指定了外键列名和关联表名和列名。
例如,创建一个 `orders` 表,其中包含两个外键,分别引用了 `customers` 表的 `id` 列和 `products` 表的 `id` 列:
```
CREATE TABLE orders (
id INT PRIMARY KEY,
customer_id INT,
product_id INT,
order_date DATE,
...
CONSTRAINT fk_customer FOREIGN KEY (customer_id) REFERENCES customers(id),
CONSTRAINT fk_product FOREIGN KEY (product_id) REFERENCES products(id)
);
```
这将创建一个名为 `orders` 的表,其中有两个外键,分别为 `customer_id` 和 `product_id`,它们分别引用了名为 `customers` 和 `products` 的表中的 `id` 列。外键 `fk_customer` 引用了 `customers` 表的 `id` 列,外键 `fk_product` 引用了 `products` 表的 `id` 列。
阅读全文