假设我有两个表在外键地址中链接。假设一个人可以有不同的地址。所以表结构看起来像是例如人aa有两个地址。
id name age adress
-------------------
1 aa bb 10
2 xx cc 11
id adress lane1 lane2 lane3
----------------------------
1 10 l2 l2 l3
2 10 v1 v2 v3
请告诉我如何编写sql insert语句,其中我可以涵盖哪个人有两个地址的场景。 (插入填充数据的语句,如上表所示)
答案 0 :(得分:0)
当你有循环外键时,你需要PostgreSQL调用的延迟约束不知道mysql是否有这些。但它也是架构设计糟糕的标志。
更好的结构将是:
table person
id name age
1 aa bb
2 xx cc
table address
id person lane1 lane2 lane3
1 1 l2 l2 l3
2 1 v1 v2 v3
然后你只需要一个外键,插入不会给你带来任何麻烦。