我相对较不熟悉使用SQL,尤其是MySQL。

我有下表的定义,并且需要在其中添加一个一般约束,我将在稍后对此进行解释。

    CREATE TABLE `ProjInvestigat` (
    `projectID` INT,
    `principalInvestigator` NUMERIC(8,0) ZEROFILL,
    `coInvestigator` NUMERIC(8,0) ZEROFILL,
    PRIMARY KEY (projectID, principalInvestigator, coInvestigator)
);


只要coInvesigator不同,我就可以在表中具有projectID和principalInvesigator的多个实例。即

     projID principID   coInvestID
     15     17          27      OKAY
     15     17          37      OKAY
     15     27          47      NOT OKAY, I need to prevent having two principal investigators on the same project.


我知道要在表定义上或ALTER TABLE语句中添加CONSTRAINT,但是我声明要执行该策略什么?我该如何处理?

谢谢你的帮助。

最佳答案

在填补基础之前,您必须编写一个脚本,该脚本使您可以验证一个项目是否有两个主要调查员。
您也可以查看此link ,也许有帮助。

09-25 16:18