如何使两个或多个列在PHPMyAdmin中是唯一的?

时间:2017-01-03 14:56:23

标签: phpmyadmin

我有一张桌子 - 预约。 列:ID,日期,时间,Doctor_Assigned

我想阻止的是:

  

ID = 1,日期= 1/1/2017,时间=下午3点,Doctor_Assigned = DoctorA

     

ID = 2,日期= 1/1/2017,时间=下午3点,Doctor_Assigned = DoctorA

对于2行数据,列日期,时间和Doctor_Assigned不应相同。

我想要的是什么:

  

ID = 1,日期= 1/1/2017,时间=下午3点,Doctor_Assigned = DoctorA

     

ID = 2,日期= 1/1/2017,时间=下午3点,Doctor_Assigned = DoctorB

相同的日期和时间,不同的医生,反之亦然。

我知道有一个唯一的按钮可以设置列,但不能设置两列或更多列。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

UNIQUE(Date, Time, Doctor_Assigned)

我们假设您希望ID成为主键,而对于其他人,您不希望它们作为一组重复,那么您可以使用它:

CREATE TABLE users (
    ID int(4) unsigned NOT NULL AUTO_INCREMENT,
    Date varchar(255) NOT NULL,
    Time varchar(255) NOT NULL,
    Doctor_Assigned varchar(255) NOT NULL,

    PRIMARY KEY (ID),
    UNIQUE(Date, Time, Doctor_Assigned)

) ENGINE=InnoDB;

这使得Date,Time,Doctor_Assigned Unique成为一组。