2017-10-07 66 views
0

在我的表中,我有一個主鍵字符變化(64)[]列。Java PostgreSQL插入引發意外錯誤

以下代碼:

Statement stmt = c.createStatement(); 
String sql = 
     "INSERT INTO schema.table (integer_col, char_varying_col) VALUES (2, 'hi');"; 
stmt.executeUpdate(sql); 
stmt.close(); 

拋出:

ERROR: malformed array literal: \"hi\"\n Detail: Array value must start with \"{\" or dimension information.\n Position: 82 

但是,如果我改變語句

Statement stmt = c.createStatement(); 
String sql = 
     "INSERT INTO schema.table (integer_col, char_varying_col) VALUES (2, '{hi}');"; 
stmt.executeUpdate(sql); 
stmt.close(); 

然後將其插入{hi}表..

+0

你有一個數組列 - 是不是你想要的? – stdunbar

+0

你可以顯示該表的ddl嗎?儘管它的名字'char_varying_col'似乎有一個數組類型... – fvu

回答

0

您將列類型定義爲數組。所以要麼將其改爲簡單的文本列,要麼根據數組​​結構更改插入語句。

+0

令人驚訝的是,我沒有注意到我剛剛寫過的[]'自己.. –