开发者社区 问答 正文

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

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

table_1 (id, field)
table_2 (id, field, field) info ( ???, field) 我试图决定,如果我应该做的主键info的复合ID的距离table_1和table_2。如果我要这样做,哪一个最有意义? (在此示例中,我将ID 11209与ID 437组合在一起)

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

或者是其他东西?

将其用作MYSQL MYISAM DB上的主键是否可以?

展开
收起
保持可爱mmm 2020-05-10 23:08:37 337 分享 版权
1 条回答
写回答
取消 提交回答
  • 我会使用一个复合(多列)键。

    CREATE TABLE INFO ( t1ID INT, t2ID INT, PRIMARY KEY (t1ID, t2ID) ) 这样,您还可以将t1ID和t2ID作为指向它们各自表的外键。来源:stack overflow

    2020-05-10 23:08:52
    赞同 展开评论