jdbcのINSERTでちょっとハマった。
データペースtest_dbのテーブルtest_tableが以下のようなレコードで構成されている。
test_db=> \d test_table; Table "public.test_table" Column | Type | Modifiers -------+--------------+----------- ID | integer | STR | character(1) |
このテーブルに対して以下のような命令をJavaから実行したら怒られた。
String sql = "INSERT INTO test_table ('ID','STR') VALUES ('0','a');
stmt.executeUpdate(sql);
なんか、IDの周辺が変ですって言われてた。
以下、試行錯誤を繰り返す。
ダブルクオテーションで括ってみたり。
String sql = "INSERT INTO test_table ("ID","STR") VALUES ('0','a');
括るのやめてみたり。
String sql = "INSERT INTO test_table (ID,STR) VALUES ('0','a');
ダメだった。
結局
String sql = "INSERT INTO test_table VALUES ('0','a');
省略したら、うまくいった。