Mysql 将两个表合并到第三个表中,并添加一列以分叉条目
我正在mysql中创建一个数据库经销商,它有三个表经销商、主地址和账单地址 经销商表有四个字段:Mysql 将两个表合并到第三个表中,并添加一列以分叉条目,mysql,Mysql,我正在mysql中创建一个数据库经销商,它有三个表经销商、主地址和账单地址 经销商表有四个字段: `Dealer_id(primary key) Dealer_name email_id Phone_no 1001 Dell Dell@gmail.com 1234567890 1002 HP
`Dealer_id(primary key) Dealer_name email_id Phone_no
1001 Dell Dell@gmail.com 1234567890
1002 HP hp@gmail.com ` 2345678901
表主地址有三个字段:
经销商id(主键)(外键)地址\u行\u 1城市
1001100戴尔纽约办事处
1002 200惠普伦敦办事处
表计费地址也有三个字段(与表主\u地址类似):
表主地址和账单地址中的现场经销商id也是一个外键,它引用表经销商的现场经销商id,以便相互关联
因为两个表主地址和账单地址的字段是相同的。
因此,我不想创建两个表,而是想将这两个表合并到另一个表中,比如说address,再加上一个字段address\u type,让我们知道地址的类型,如主地址或账单地址
dealer_id (primary key)(foreign key) address_line_1 city address_type
1001 100 Dell office New York Primary
1002 200 HP office London Primary
1001 1001 Dell office New Jersy Billing
1002 2001 HP office Cambridge Billing
但是如果我这样做,问题就出现了。在新创建的表address中,dealer\u id不能再是主键,因为它将有重复的条目
我是否应该在新表address中创建另一个字段,该字段可以与经销商id一起充当主键
因此,请建议我解决此问题的方法,以便我可以将两个表合并为一个。我认为(
经销商id
,地址类型
)可以是唯一的键。我会使用一个自动递增的DealerAddressId
作为主键。我认为您应该创建另一列作为主键,当前的dealer\u id将只是外键而不是主键。它应该能解决你的问题。祝你好运。。
dealer_id (primary key)(foreign key) address_line_1 city address_type
1001 100 Dell office New York Primary
1002 200 HP office London Primary
1001 1001 Dell office New Jersy Billing
1002 2001 HP office Cambridge Billing