小编典典

如何正确创建复合主键 - MYSQL

all

这是我正在使用的密集设置的严重过度简化。table_1并且table_2两者都具有自动增量代理主键作为
ID。info是一个包含关于table_1和的信息的表table_2

table_1 (id, field)  
table_2 (id, field, field)
info ( ???, field)

我正在尝试决定是否应该将和info的 ID 组合作为主键。如果我要这样做,其中哪一个最有意义? (在此示例中,我将 ID 11209 与 ID 437
结合使用)
table_1``table_2
__

INT(9)11209437 (我可以想象为什么这很糟糕)
VARCHAR (10) 11209-437
DECIMAL (10,4)11209.437

或者是其他东西?

将其用作 MYSQL MISAM DB 上的主键可以吗?


阅读 118

收藏
2022-06-18

共1个答案

小编典典

我会使用复合(多列)键。

CREATE TABLE INFO (
    t1ID INT,
    t2ID INT,
    PRIMARY KEY (t1ID, t2ID)
)

这样,您也可以将 t1ID 和 t2ID 作为指向它们各自表的外键。

2022-06-18