需要SQL/Java语法的指导,以便在复合键和主键之间建立连接

需要SQL/Java语法的指导,以便在复合键和主键之间建立连接,java,mysql,jdbc,Java,Mysql,Jdbc,虽然我知道这不是推荐的做法,但我正在开发一个应用程序,用于存储数据,以便以后转换为财务票据,这意味着我制作了一个表来存储产品数据,另一个表将其与客户的数据/排放数据合并,等等 应用程序的组织方式是将sale代码正确地插入到DB中,但表之间没有完全连接,因为除了在没有任何外键的情况下将两个相等的值插入两个不同的表之外,我无法找到一种方法(因为如果我理解正确,您无法更新子列),它的工作原理如下: 用户选择产品(以及金额)和客户, SaleId在最后一个表中插入一次, 但是在产品表上,SaleId被插

虽然我知道这不是推荐的做法,但我正在开发一个应用程序,用于存储数据,以便以后转换为财务票据,这意味着我制作了一个表来存储产品数据,另一个表将其与客户的数据/排放数据合并,等等

应用程序的组织方式是将sale代码正确地插入到DB中,但表之间没有完全连接,因为除了在没有任何外键的情况下将两个相等的值插入两个不同的表之外,我无法找到一种方法(因为如果我理解正确,您无法更新子列),它的工作原理如下:

用户选择产品(以及金额)和客户, SaleId在最后一个表中插入一次, 但是在产品表上,SaleId被插入(产品数量)次

Ex:FinalTable SaleID:1/ProductTable SaleID:1,1,1,1(假设有5种产品具有该代码)


我想知道的是,如果有一种方法可以使用外键或类似的东西连接两个表,我完全理解为什么不建议使用外键,但这正是为什么我在这个主题上征求不同的意见。

Ex:FinalTable SaleID:1/ProductTable SaleID:1,1,1,1(假设有5种产品使用该代码)显示插入后的表数据状态。作为表格格式的文本。这些表没有完全连接,因为除了在没有任何外键的情况下将两个相等的值插入到两个不同的表中之外,我想不出一种实现方法。这些语句是不相关的。而FK缺席的原因也完全不清楚。您有经典的1:N关系。我使用外键从ProductTable中引用SaleID(复合键),但这样它就不允许我将相同的值插入ProductTable,因为它不接受重复项,我只能通过删除它才能使其工作,我对DB字段很陌生,如果不清楚,很抱歉。您创建的FK方向错误。它必须在关系的
N
侧的表中创建,而不是在
1
侧。在侧面
1
要引用的按列索引必须存在(按单独的列,或者此列必须是复合索引中的前缀)。我明白了,非常感谢