Mysql 当同一个键上的主键已定义时,为什么要使用Unique
在阅读数据库系统时,我遇到了如下查询:Mysql 当同一个键上的主键已定义时,为什么要使用Unique,mysql,primary-key,unique-key,Mysql,Primary Key,Unique Key,在阅读数据库系统时,我遇到了如下查询: CREATE TABLE works ( eid INTEGER NOT NULL, did INTEGER NOT NULL, pcttime INTEGER, PRIMARY KEY ( eid, did ), UNIQUE ( eid ), FOREIGN KEY ( did ) REFERENCES dept ); 既然eid上的主键did已经定
CREATE TABLE works (
eid INTEGER NOT NULL,
did INTEGER NOT NULL,
pcttime INTEGER,
PRIMARY KEY ( eid,
did ),
UNIQUE ( eid ),
FOREIGN KEY ( did )
REFERENCES dept
);
既然eid上的主键did已经定义,为什么我们需要eid上的unique?因为每个eid、did对都已经是唯一的。主键位于两列上,因此您仍然可以拥有非唯一的eid。例如:
eid did
1 1
1 2
这不会违反您的主键,但会违反您的唯一约束。主键位于两列上,因此您仍然可以拥有非唯一的EID。例如:
eid did
1 1
1 2
这不会违反您的主键,但会违反您的唯一约束。谢谢您的解释!!谢谢你的解释!!