mysql - 使用自动递增的唯一 id 主键作为另一个表中的外键

标签 mysql database

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

uid ---> 主键&自动递增&唯一
名称
年龄

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

uid ---> primary_details 表中主键的外键且不唯一
得分
评论

现在的问题是,当我在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和自动增量功能

最佳答案

  1. 在父表 primary_details 中插入行。

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

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

顺便说一句,您的子表应该有自己的 uid 和不同的外键字段。

示例:

客户
uid ---> 主键自增
姓名
年龄

客户详细信息
uid ---> 主键自增
customer_id---> 客户表上的外键
分数
评论

关于mysql - 使用自动递增的唯一 id 主键作为另一个表中的外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34614369/

相关文章:

sql - 通过单点高效检索重叠的 IP 范围记录

mysql - Magento - 安装扩展错误

php - JQuery UI 自动完成搜索结果不显示

mysql - GROUP BY + HAVING 忽略行

mysql - 将 TSV 格式转换为可上传 MySQL 数据库?

php - 寻找一个干净地执行 PHP 数据库 session 的好例子

database - Redis GREORADIUS : include altitude?

mysql - 如何安排我的实体以便商店可以拥有供应商的产品?

c# - Azure上托管的ASP .NET MVC项目可使用SSL身份验证连接到clearDB mySQL

mysql - 数据库结构