小编典典

MySQL 5中的多列主键

mysql

我正在尝试学习如何使用键并打破习惯,即SERIAL我所有表中的所有行都必须具有类型ID。同时,我也在进行多对多关系,因此在需要协调关系的表的任一列上要求唯一值会妨碍这一点。

我如何在表上定义主键,以便任何给定的值都可以在任何列中重复,只要永不完全重复所有列中的值组合即可?


阅读 500

收藏
2020-05-17

共1个答案

小编典典

CREATE TABLE语法页面引用:

主键可以是多列索引。但是,您不能使用列规范中的PRIMARY KEY键属性创建多列索引。这样做仅将单列标记为主要。您必须使用单独的PRIMARY
KEY(index_col_name,…)子句。

这样的事情可以用于多列主键:

CREATE TABLE
    product (
        category INT NOT NULL,
        id INT NOT NULL,
        price DECIMAL,
        PRIMARY KEY(category, id)
    );

13.1.20.6外国关键约束

2020-05-17