2013-04-13 74 views
2

我想刪除一個對象CATEGORY。該特定對象中的所有鍵都是<null>。此對象的ID在另一個對象中也不是任何外鍵的一部分。我仍然受到侵犯。我不知道'CCNTCTGSLCTDCTGRSD'可能是什麼。我不知道如何進一步調查這一點,我選擇了對象(SELECT * FROM CATEGORY WHERE ID = 1),並對任何其他具有可能外鍵的對象(SELECT * FROM xxx WHERE CATEGORY_ID = 1)運行查詢。Eclipselink /德比:外鍵約束

Error code -1, SQL state 23503: DELETE on table 'CATEGORY' caused a violation of foreign key constraint 'CCNTCTGSLCTDCTGRSD' for key (1). The statement has been rolled back. 

這條留言是我得到的。有什麼建議麼?

回答

0

嘗試使用'ij'工具連接到數據庫,並使用DESCRIBE和SHOW INDEXES命令更好地感受表中的DDL和約束。

您也可以從SYS.SYSCONSTRAINTS中選擇列出數據庫模式中存在的所有約束。

一些參考:

http://db.apache.org/derby/docs/10.9/tools/rtoolsijcomrefdescribe.html

http://db.apache.org/derby/docs/10.9/tools/rtoolsijcomrefshow.html

http://db.apache.org/derby/docs/10.9/ref/rrefsistabs23241.html

+0

我的英雄! 'SELECT t.TABLENAME FROM SYS.SYSCONSTRAINTS c,SYS.SYSTABLES t WHERE c.TABLEID = t.TABLEID and c.CONSTRAINTNAME ='CCNTCTGSLCTDCTGRSD'' using'ij'給了我一個關於涉及哪些類的線索。我相信我能解決我的問題。 – Aquillo