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

这不会违反您的主键,但会违反您的唯一约束。

谢谢您的解释!!谢谢你的解释!!