【问题标题】:Use Auto incremented unique id primary key as foreign key in another table在另一个表中使用自动递增的唯一 id 主键作为外键
【发布时间】:2016-04-09 10:28:10
【问题描述】:

我有一个表primary_details,其中包含以下字段

uid ---> 主键 & 自动递增 & 唯一
name
age

我有另一个表 cust_info 包含以下字段

uid ---> primary_details 表中主键的外键 & 不唯一
score
comments

现在的问题是,当我在primary_details 表中插入一行时,它会自动在uid 列中插入该值,并且它会在所有后续新行上自动递增,这是完美的。但是,现在我希望cust_info 表中的uid 也具有与primary_details 表中相同的uid 值,只要我在primary_details 表中写入一行

例如:

如果我插入以下行,则在 primary_details 表中

uid    name   age   
1      Mark   25

现在,如果我在第二个表之后插入一条记录,它也应该得到uid 1

我正在使用 Java 编写表格。在 java 中,我可以很容易地生成一个uid 并将其插入到表中,但我想在 MySQL 中使用唯一 ID 和自动增量功能

【问题讨论】:

标签: mysql database


【解决方案1】:
  1. 在父表primary_details 中插入行。

  2. 然后,用你想要的方法检索生成的uid:How to get the insert ID in JDBC?

  3. 使用之前生成的uid插入子表cust_info

附带说明,您的子表应该有自己的 uid 和不同的外键字段。

例子:

客户
uid ---> 主键自动递增
名称
年龄

客户详情
uid ---> 主键自动递增
customer_id---> 客户表上的外键
得分
厘米

【讨论】:

  • 谢谢。完美的。这正是我所需要的。
猜你喜欢
  • 1970-01-01
  • 2015-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-21
  • 1970-01-01
  • 1970-01-01
  • 2020-06-09
相关资源
最近更新 更多