这是我正在使用的密集设置的严重过度简化。 table_1
和 table_2
都有自增代理主键作为 ID。 info
是一个表,其中包含有关 table_1
和 table_2
的信息。
table_1 (id, field)
table_2 (id, field, field)
info ( ???, field)
我正在尝试决定是否应该将 info
的主键组合成来自 table_1
和 table_2
的 ID。如果我要这样做,哪一个最有意义?
(在本例中,我将 ID 11209 与 ID 437 组合在一起)
INT(9)
11209437 (我可以想象为什么这很糟糕)
VARCHAR (10)
11209-437
十进制 (10,4)
11209.437
还是别的什么?
将其用作 MYSQL MYISAM DB 上的主键可以吗?
最佳答案
我会使用复合(多列)键。
CREATE TABLE INFO (
t1ID INT,
t2ID INT,
PRIMARY KEY (t1ID, t2ID)
)
这样,您也可以将 t1ID 和 t2ID 作为外键指向它们各自的表。
关于mysql - 如何正确创建复合主键 - MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5835978/