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';希望这些信息对你有所帮助!如果有更多具体问题,请随时提问。
没有搜到相关的文章