我有一張學生桌和一張教育桌,教育桌的PK作爲學生桌的外鍵。但是,當教育被刪除時,學生不再出現在視圖中。我該如何解決這個問題?在顯示視圖時刪除外鍵時出現問題?
1
A
回答
1
基於你在問什麼,我認爲你應該首先重新考慮你的數據庫結構。
回答下列問題:
是否有意義有一個不存在的
education
一個student
?如果您在
Educations
表中刪除education
,但是FK到education
行的學生居住在您的數據庫中,則會出現這種情況。這似乎是你所要求的,但它沒有多大意義,因爲它不能保證數據的完整性。如果學生入讀
education
,您是否允許刪除education
?如果它不應該被允許,那麼你只需要在你的1對多關係中禁用級聯刪除,你的問題就可以解決。
如果一個
eduction
被刪除,所有被分配到所述教育的學生是否應該留在數據庫中?這是你想要的,但與你的數據庫的結構,它不是直接實現。
更簡單的解決方案?
之一將是建立3個表,而不是2:
- 的教育
- 學生
- StudentsEducationAssignments
在1你存儲有與您education
實體只做eveything 。在2中,只有與你的student
實體有什麼關係(請注意,他們選擇什麼類型的education
不是僅描述student
的東西)。在3你存儲什麼學生分配什麼教育。
這樣,如果您刪除education
,分配給它的學生將不會被刪除,只有將學生關聯到該具體education
的信息。這樣可以更輕鬆地保持數據庫完整性
希望這會有所幫助。
1
從您提供的信息來看,我的猜測是您已經在數據庫中強制引用了完整性。這意味着當你在教育中刪除一行時,與它關聯的學生也被刪除。
1
我發現絕對不要刪除表中的數據,因爲其他字段依賴於它們。相反,你應該在表中有一個名爲'IsDeleted'的布爾值,並且當你想'刪除'它並且當你拉取數據時確保你過濾掉了所有'IsDeleted'集到'真'
0
也許一個外部連接,而不是你的視圖中的內部連接?
如果您向我們展示視圖定義,我們可能會提供更多幫助,如果沒有它,我們只能猜測。
相關問題
- 1. 顯示圖像時出現問題
- 2. 將子視圖顯示爲彈出窗口時出現問題
- 3. ArrayList(刪除時出現問題)
- 4. 刪除Widget時出現問題嗎?
- 5. 刪除數據時出現的問題
- 6. 計時器問題在顯示視圖
- 7. 流式傳輸時顯示視頻時出現問題
- 8. 刪除ALT/TITLE工具提示時出現問題 - WordPress主題
- 9. SQL外鍵刪除問題
- 10. 顯示控件時出現問題
- 11. Android:顯示文本時出現問題
- 12. 在視圖轉換時刪除鍵盤
- 13. 當外鍵等於主鍵時在視圖中顯示數據
- 14. 鍵盤顯示時不顯示視圖?
- 15. WinJS:顯示軟鍵盤時出現滾動問題
- 16. 在JSP上顯示圖像時出現問題
- 17. 我試圖在日曆中顯示事件時出現問題?
- 18. 在設備上顯示圖像時出現問題
- 19. 在Android中顯示大圖像時出現問題
- 20. 在jquery mobile中顯示Google地圖時出現問題
- 21. Android中的loadDataWithBaseURL()在顯示圖像時出現的問題
- 22. 在JButton中顯示圖像時出現問題
- 23. iPhone:在UIWebView中顯示捕獲的圖像時出現問題
- 24. 在imageview中顯示圖像時出現問題
- 25. 在ASP.NET網站的FCKEditor中顯示圖像時出現問題
- 26. 在圖像上方顯示文字yyy時出現問題?
- 27. 在隱藏和顯示div上顯示div時出現問題
- 28. 當試圖突出顯示ListView行項onClick時出現問題
- 29. iOS5 UINavigationBar顯示提示時出現背景圖像問題
- 30. 試圖從DataTable中刪除行時出現問題
你的意思是'外鍵'? –
@ user818566,它不是很清楚你想實現什麼。你想阻止用戶刪除或阻止用戶查看刪除的「教育」? –
因此......當刪除教育記錄時,具有已刪除記錄的外鍵(?)鍵的學生記錄不再顯示? –