MySQL中的主键(Primary Key)是用于唯一标识表中每一行数据的列或列组合。一个表只能有一个主键,但可以由多个列组成复合主键(Composite Key)。复合主键中的每个列都必须唯一地标识表中的记录。
假设有一个订单表,其中每个订单有一个唯一的订单号(order_id),同时每个订单有一个唯一的客户ID(customer_id)。在这种情况下,可以将这两个列组合成一个复合主键。
CREATE TABLE orders (
order_id INT,
customer_id INT,
order_date DATE,
PRIMARY KEY (order_id, customer_id)
);
实际上,MySQL允许访问复合主键中的多个列。复合主键中的每个列都可以单独访问,也可以组合访问。
SELECT order_id, customer_id FROM orders WHERE order_id = 1 AND customer_id = 100;
ALTER TABLE orders ENGINE=InnoDB;
假设有一个包含复合主键的表users
,结构如下:
CREATE TABLE users (
user_id INT,
email VARCHAR(255),
PRIMARY KEY (user_id, email)
);
查询示例:
SELECT * FROM users WHERE user_id = 1 AND email = 'user@example.com';
希望这些信息对你有所帮助!如果有更多具体问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云