举例使用mysql复合主键
时间: 2023-10-16 16:57:39 浏览: 99
当创建一个表时,我们可以使用复合主键来定义多个列作为主键。以下是一个示例:
假设我们有一个名为 "orders" 的表,用于存储订单信息。每个订单由两个字段唯一标识:订单号 (order_id) 和客户号 (customer_id)。我们可以使用这两个字段作为复合主键。
首先,创建一个名为 "orders" 的表:
```
CREATE TABLE orders (
order_id INT,
customer_id INT,
order_date DATE,
-- 其他订单相关列
PRIMARY KEY (order_id, customer_id)
);
```
在上述示例中,我们使用 `PRIMARY KEY` 约束将 `order_id` 和 `customer_id` 列指定为复合主键。
这样,每个订单的 `order_id` 和 `customer_id` 组合将是唯一的,确保了每个订单的唯一性。同时,我们还可以使用复合主键进行查询和排序,例如:
```
SELECT * FROM orders WHERE order_id = 123 AND customer_id = 456;
```
这将返回具有指定 `order_id` 和 `customer_id` 的订单记录。
请注意,复合主键的顺序很重要,它决定了数据的存储顺序和索引的创建方式。因此,需要根据具体需求和查询模式来选择适当的顺序。
阅读全文