黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Oracle:外鍵關聯導致數據無法刪除

系統 2415 0

原地址: http://blog.sina.com.cn/s/blog_5e0ed6fd0100i1z2.html

?

??? 手動刪除數據庫中冗余數據可能遇到外鍵關聯導致數據無法刪除的問題。這個問題的解決及思考記錄如下:

?

?? 問題的產生是因為在數據庫設計的時候,在建立外鍵關聯的時候沒有設置級聯刪除,也就是說在設置外鍵的時候并沒有加上on delete cascade限定。對于這個問題,我的想法是:在數據庫設計的時候一般情況下都是應該加上這樣的限制的。如果說擔心“級聯刪除”可能會誤刪有用的數據,這種情況如果真的發生的話,那么就應該在數據庫的設計上找原因了。

??? 如果在數據庫設計的時候設置了級聯刪除,那么本文提到的問題是不會發生的。如果不幸這樣的狀況發生了,那么可以根據它提示的關聯外鍵,到user_constraints表中按constraint_name查找到唯一的記錄,當然查詢這個系統視圖的用戶權限應該比較高,然后在記錄中找到table_name,最后編輯表的外鍵關聯,將on delete觸發的動作改為cascade。如果數據庫中數據庫表很多,關聯關系比較復雜,那么很可能在遇到問題之后要修改的外鍵關聯時的級聯刪除不止一個兩個。

??? 此外,說兩個題外話:

??? 第一,設置外鍵關聯的時候,級聯操作有三種設置方式:
??? 默認無動作:on delete no action;
??? 置空:on delete set null;
??? 級聯刪除:on delete cascade。

??? 第二,在drop表的時候,用drop table cascade constraints語句,只會刪除子表與父表之間的關聯關系,不會刪除子表中關聯父表的那些記錄。

Oracle:外鍵關聯導致數據無法刪除


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論