日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 自连接 树形_自连接表的相关问题(树形结构)

發布時間:2025/3/12 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 自连接 树形_自连接表的相关问题(树形结构) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題一:

自連接表肯定是相似??Id(PK),parentId(FK),name?….了

Id假如是主鍵的話,parentId就是外鍵了,

可是樹形結構肯定是有根節點了,那么根節點的parentId按理說應該是null,原因是根節點沒有父節點,

可是主鍵Id是不能為空的啊,導致外鍵parentId也不能為null,那本人輸入數據的時候怎么辦呢?

問題二:

本人為了避免問題一中的麻煩,本人單獨弄了個uuid主鍵ID,而然后是唯一索引Bh(編號),然后是上級編號parentBh

也就是自連接表項為???ID(PK),Bh(unique),parentBh(FK),name…

這樣以來,外鍵parentId就可以為null了,也就實現了樹形結構根節點的父節點為null了。

本來還挺高興,但是網上有人說本人這么設計數據庫根本不合理,說外鍵就應該關聯主鍵,真的是這樣么,那本人說的問題一怎么樣解決呢?本人看很多人定義自連接表,parentId都default?null,卻不設置為外鍵,這樣根節點的parentId的確默認為null了,可是他們這樣豈不是就不能用數據庫自帶的級聯操作了么?只能程序控制parentId和Id的一致性了吧?

問題三:

一開始本人是按照問題二描述的那樣設計的數據庫表,可是后來本人發現,假如是兩張表有主外鍵關聯關系的話,本人修改或刪除主表的唯一索引,從表的外鍵會自動修改或刪除/set?null。

可是假如是自連接表的話,就只能級聯刪除/set?null,?卻不能級聯更新,這是為什么呢?一修改唯一索引就報錯。

問題四:

由于本人不會在hibernate配置文件里(hbm.xml文件)配置主外鍵關聯,所以只能像以前那樣寫個基本的pojo和.hbm.xml,然后生成數據庫表,最后本人在數據庫中設置的外鍵關聯,現在使用沒出現什么錯誤,問一下是不是可以這樣,而不必非得把hibernate配置中也加上?和之類的配置呢?

問題五:問一下假如客戶想要看到數據庫表中數據的樹形結構,不知道這樣的形式能否容易實現呢?

請有耐心、有經驗的高手們幫幫小弟吧!

解決方案

40

呵呵,關鍵是你的父ID可以為空呀。你的思路有問題了。

CodeBye 版權所有丨如未注明 , 均為原創丨本網站采用BY-NC-SA協議進行授權 , 轉載請注明自連接表的相關問題(樹形結構)!

總結

以上是生活随笔為你收集整理的mysql 自连接 树形_自连接表的相关问题(树形结构)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。