我需要创建一个名为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

10-06 08:20