2
我目前正在使用Jooq作爲項目,但我需要一種方法來忽略插入時的重複鍵。Jooq - 忽略重複
我有一個想要寫入表的對象數組,但是如果它們已經存在由START_TS和EVENT_TYPE上的複合唯一索引確定,我希望插入以靜默方式失敗。
我的代碼看起來是這樣的:
像這樣的解決方案是理想的:https://stackoverflow.com/a/4920619/416338
我想我需要添加類似:
.onDuplicateKeyUpdate().set(MY_REC.EVENT_TYPE,MY_REC.EVENT_TYPE);
但無論我添加它似乎仍然在重複上拋出一個錯誤。
我不知道這個工具,但在普通的SQL,你可以這樣做'INSERT INTO表(SELECT COL1 ,col2 FROM(VALUES(val1,val2))as temp(col1,col2)WHERE NOT EXISTS(SELECT'1'FROM table where col1 = val1))'這對於幾乎每個RDBMS都有效變異)。 – 2012-04-20 15:47:47
@LukasEder INSERT INTO t(column1,... columnN)SELECT ...從其他表中...幾乎所有(如果不是全部)DBMS都支持''。 – 2012-04-20 22:29:14
@ypercube:我一定錯過了'SELECT' ...我的壞 – 2012-04-20 22:31:35