MySQL 数据库设计。在 1to1 表中插入行。
技术问答
189 人阅读
|
0 人回复
|
2023-09-12
|
将行插入表中的最佳方法是相互引用 1 到 1 ?4 b$ g) r* @8 c9 Q- Z; E
我的意思是,在 MySQL 5.5 和表 InnoDB 中,我有一个类似于以下数据库设计的 ' E6 [7 g# q4 z% v5 _5 l$ r
, j7 U) E: @) x当我们试着在 table1 和 table2 插入行时出现问题。MySQL 没有多表插入,我不能插入一行,因为两个表的外键都是 NOT NULL 字段,应同时插入。4 S- }* g H" I1 e" F! R6 j
解决这个问题的最好方法是什么?
8 ?8 p9 I4 K/ o! X我想到了 3 可能的解决方案,但我想知道是否有更多的解决方案,或者哪个是最好的,为什么。
4 h& W2 n" j1 F[ol]设置外部键字段NULLABLE,插入一行后,插入另一行,然后更新第一行。
, ?* ]3 s% V2 i3 V正如上面提到的,有一个特殊的值,比如 -首先,将和key = -1NULL 等效外来表插入表中,但避免将字段设置为 NULLABLE。之后,我们将该行插入另一个表,更新第一个插入。
* n- U- b: O: [ ^- q: B5 l在两者之间创建一个关系表并不是真正必要的,因为它是 1 比 1 的比例[/ol]谢谢!!, a* q5 N2 l4 K9 _
编辑 我简要解释了我需要这种循环关系的内容:它是从父表到子表之一的非标准化。为了获得高性能,它总是引用父表中排名最高的子项。
8 P' s( Q- a: t3 U& N
|& u. Z3 P# X: r) r. q B4 O 解决方案: |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|
|
|
|
|