mysql表创建中的问题

use*_*714 0 mysql sql

我需要创建一个名为benificiaries的表,其中我有三列

customerid
accountno
bank
Run Code Online (Sandbox Code Playgroud)

条件应该是一个customerid只能有一个唯一的条件accountno.但是另一个customerid可以具有相同accountno且相同的唯一(仅一次).所以我不能给主键accountno.即使customerid我不能给主键,因为一个customerid可以有多个独特的记录accountno.

在这种情况下我们如何创建表?有任何想法吗?

tan*_*din 5

您可以使用多列唯一索引.

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)
);
Run Code Online (Sandbox Code Playgroud)

文档在这里.

https://dev.mysql.com/doc/refman/5.7/en/multiple-column-indexes.html