我有一张桌子 - 预约。 列: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
相同的日期和时间,不同的医生,反之亦然。
我知道有一个唯一的按钮可以设置列,但不能设置两列或更多列。 提前谢谢!
答案 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成为一组。