0
我找不到任何解決方案,所以我要求你們幫忙。如何防止將重複項導入到HSQL DB?
,這樣重複檢查是以前做我如何延長這一說法:
"INSERT INTO sample_table(str_col,num_col) VALUES('Ford', 100)"
非常感謝!
我找不到任何解決方案,所以我要求你們幫忙。如何防止將重複項導入到HSQL DB?
,這樣重複檢查是以前做我如何延長這一說法:
"INSERT INTO sample_table(str_col,num_col) VALUES('Ford', 100)"
非常感謝!
您在需要包含唯一值的列上創建唯一索引。如果str_col中的值應該是唯一的,則需要對此列進行約束。
ALTER TABLE sample_table ADD CONSTRAINT unique_c UNIQUE(str_col)
如果兩列的組合必須是唯一的,例如汽車(Ford,100),(福特,101),你應該添加
ALTER TABLE sample_table ADD CONSTRAINT unique_c UNIQUE(str_col, numb_col)
當你插入重複值到表,拋出異常。
如果您想避免該異常,請使用MERGE語句插入。
MERGE INTO sample_table USING VALUES('Ford', 100)
WHEN NOT MATCHED THEN INSERT VALUES('Ford', 100)
非常感謝!第一個聲明正在工作。隨着第二個我得到一個異常:java.sql.SQLSyntaxErrorException:意外的令牌:100.3當我試圖插入「100.2」 – Andrew
先使用SELECT然後插入或更新 – Sanjeev
或者更好地使用合併兩者的MERGE。或者創建一個唯一的約束,並在記錄存在時處理失敗。 – user2612030
或使用[MERGE](http://hsqldb.org/doc/2.0/guide/dataaccess-chapt.html#dac_merge_statement)語句。 –