我需要创建一个名为benificiaries的表,其中有三列
customerid
accountno
bank
条件应该是一个
customerid
只能有一个唯一的accountno
。但是另一个customerid
可以具有相同的accountno
和相同的唯一性(仅一次)。因此,我无法将主键提供给accountno
。即使对于customerid
,我也不能给出主键,因为一个customerid
可以有多个具有唯一accountno
的记录。在这种情况下如何创建表?有任何想法吗?
最佳答案
您可以使用多列唯一索引。
CREATE TABLE YOUR_TABLE (
id INT NOT NULL AUTO_INCREMENT,
customerid INT NOT NULL,
accountno INT NOT NULL,
bank INT NOT NULL,
PRIMARY KEY (id),
UNIQUE INDEX name (customerid,accountno)
);
这里的文档。
https://dev.mysql.com/doc/refman/5.7/en/multiple-column-indexes.html