通常在刪除某個表a的時候,會出現這個錯誤。原因是另乙個表b的某個字段引用了a表的某個字段作為約束(這個的另乙個說法是外來鍵)。
假如引用的字段叫field,當b.field = a.field , 而你想刪掉a.field,這時就爆出這個錯誤。解決辦法是先把b.field (b.field = a.field的部分) 乾掉,再乾掉你想刪除的a.field
問題是,如何知道哪個表引用了a表的field欄位或其他字段?報錯資訊裡並沒有給出,只給出了約束的名稱。這時可以查all_constraints。
select table_name from all_constraints where constraint_name = '約束的名稱' (一般如 fk_***)
檢視選出的table_name 就知道索引了a的哪個字段。
ORA 02292 違反完整約束條件
刪除關連表資料的時候經常會出現提示,原因很簡單 要刪除的資料已經被子表資料關聯 ora 02292 違反完整約束條件 hgycd.fk n2scj64lcddflx2e9wbj3b5vj 這個時候如果依然要刪除主表資料的話,大致有兩種方式 1 根據約束查詢到子表,刪除子表關聯資料,再刪除主表資料 第...
ORA 02292 外來鍵關聯,無法刪除記錄
經常我們在刪除db記錄時,會為外來鍵關聯而無法刪除資料感到苦惱。這裡個人經常用到的乙個方法就是,先讓關聯主鍵失效,然後再刪除資料,資料刪除完成後,再讓其主 鍵生效,這樣很好的解決了刪除級聯資料難的問題。第一步 讓主鍵失效 alter table table name disable primary ...
mysql刪除表主鍵約束 MySQL新增約束
mysql新增約束 刪除約束及修改約束 mysql刪除約束 將t student 刪除外來鍵約束 alter table 表名 drop foreign key 外來鍵 區分大小寫 alter table t student drop foreign key fk classes id 刪除主鍵約束...