这里是一个严重的过度简化的紧张设置,我正在工作.table_1table_2都有自动递增的代理主键作为ID.info是一个包含关于table_1table_2的信息的表.

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

I am trying to decided if I should make the primary key of info a composite of the IDs from table_1 and table_2. If I were to do this, which of these makes most sense?
( in this example I am combining ID 11209 with ID 437 )

INT(9) 11209437 (i can imagine why this is bad)
VARCHAR (10) 11209-437
DECIMAL (10,4) 11209.437

还是别的什么?

将其用作MYSQL MYISAM数据库的主键可以吗?

推荐答案

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

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

通过这种方式,您可以将t1ID和t2ID作为外键,同时指向各自的表.

Mysql相关问答推荐

对多个数据库运行UPDATE mySQL查询

使用Check查看过go 两个月是否完成了IRM Meetup

带有 JOIN 和 WHERE 子句的 INSERT 语句

根据 Power Query 中的条件替换值

如何在Pandas 中使用 to_sql

如何获取从开始时间到结束时间的所有正在运行的作业(job)的总和?

为什么一个 10 位的电话号码不能存储在长度为 10 的整数中?

使用 JOIN 计算列中的所有值

将 wordpress 自定义字段转换为单个数组

处理 Visits 表中数百万行的最佳方法是什么?

如何在任何连续范围内获得最大值

查询给出错误时的 mySQL Group_Concat 和 Case

Golang Gorm没有从关联表中检索数据

避免重复进入mysql数据库的最佳方法

Facebook user_id:big_int、int 还是 string?

在mysql中将纪元数转换为人类可读的日期

不是唯一的表/别名

MySQL Workbench 无法加载 mysql.proc

从 MySQL 中的日、月、年字段创建日期

为什么在 MySQL 中使用外键约束?