您好,感謝您的閱讀,可能還幫我Firebird2.5錯誤:「在唯一索引中的重複值」不重複數據
我的問題的簡要說明:
我從一個Firebird-複製數據數據庫到另一個(稱爲V14),我正在使用IBExpert來做到這一點。 這些表格命名相同,並具有相同的結構。爲了解釋我要打電話給包含舊數據庫A中的數據的表格,並且我想要插入數據的表格將被稱爲B.
因此唯一要做的就是將所有數據從表A和將它們插入到表B. 的小塊代碼的這樣做是:
INSERT into [V14].BSMZ SELECT * FROM BSMZ
執行該收到錯誤-消息(一些行被轉移後):
無效插入或更新值(s):對象列受到約束 - 沒有2個錶行可以具有重複的列值。嘗試存儲在唯一索引「UI_BSMZ」
重複值(可見的活躍交易)這種獨特的指數包含2個數據colums和適用於表B和A
有導致此問題的多行而且還根據需要轉移多行。 我已經證實,無法插入到表B中的行在它們的unique-key-colums中具有值,這些值不在表B中存在。
(爲了測試的目的,我沒有刪除約束從表B。但我仍然得到相同的錯誤消息,這使我更加困惑)
我不知道什麼可能會導致此問題,並會感激一些提示。
在它可能與備份的唯一約束腐敗指數出現的一些情況。還要檢查其中一個受約束的列中是否有空值。 –
受約束的柱中沒有空值。也許我應該問谷歌如何修復損壞的索引,並看看如果這能解決問題... – user3327902
另一件事:約束包括(var)char列嗎?如果是這樣,它可能是一個不區分大小寫和/或不區分變音的列? –