我在SQL(Oracle數據庫)中有INSERTING或CONSTRAINT問題。我創建表BOOKS(ID PK,TITLE,YEAR,PRICE,ID_AUTHOR FK,ID_PUBLISHER FK,ID_KIND FK),然後我嘗試在該表中插入18行。新增9行正常,但在第十是這樣的錯誤:在SQL中插入/約束(Oracle)
INSERT INTO KSIAZKA
VALUES
(10, 'Visual Basic .NET i platforma .NET', 2000, 70.00, 7, 3, 9)
Error report: SQL Error: ORA-02291: integrity constraint (SYSTEM.ID_AUTOR) violated - parent key not found 02291. 00000 - "integrity constraint (%s.%s) violated - parent key not found" *Cause: A foreign key value has no matching primary key value. *Action: Delete the foreign key or add a matching primary key.'
我試圖插入10個相同的行和9正確添加,但最後一個錯誤發生。
我的問題是 - 爲什麼我只能插入9行?我該怎麼處理這個問題?
btw。我可以編寫查詢,這些查詢爲我提供了表中的約束是正確的。
我正在使用Oracle 11g Express Edition和SQL Developer。
那麼錯誤說明了一切:你插入一行的值在參考表(作者)中沒有相應的PK值。順便說一句:你應該不***創建表作爲'SYSTEM'。不要這樣做,請創建一個常規用戶來處理。 –
如果INSERT(id)中的第一個值是10或更多,則會出現錯誤。如果我在表BOOKS中插入值9或2或5作爲ID,那麼一切正常...... – llepec
您可能已錯誤地設置了外鍵約束。向我們展示'KSIAZKA'表的設計。 –