MySQL如何写共主键
在MySQL中,可以使用联合主键来实现共主键的定义。所谓联合主键,即将多个字段作为一个复合主键,来唯一确定一个记录。
创建包含联合主键的表
创建一个包含联合主键的表,可以使用以下SQL语句:
CREATE TABLE MyTable (
id INT NOT NULL,
name VARCHAR(50) NOT NULL,
PRIMARY KEY (id,name)
);
在这个例子中,id和name两个字段组成了一个复合主键,主键定义放在了CREATE TABLE语句中的PRIMARY KEY关键字后面。
插入含有联合主键的记录
当向这个包含联合主键的表中插入记录时,需要在INSERT语句中指定每个字段的值,例如:
INSERT INTO MyTable (id,name) VALUES (1,'Alice');
这个INSERT语句插入了一个id为1、name为'Alice'的记录。
查询含有联合主键的记录
查询含有联合主键的记录时,需要在WHERE子句中同时指定联合主键的每个字段值,例如:
SELECT * FROM MyTable WHERE id=1 AND name='Alice';
这个SELECT语句将返回id为1、name为'Alice'的记录。
总结
使用联合主键可以有效地定义共主键,使得表中的记录可以通过多个字段唯一确定。在创建包含联合主键的表、插入含有联合主键的记录、以及查询含有联合主键的记录时,需要注意指定每个字段的值,并在WHERE子句中同时指定联合主键的每个字段值。