我產生一個SQLite表(JAVA):SQLite自動增量 - 如何插入值?
create table participants (ROWID INTEGER PRIMARY KEY AUTOINCREMENT, col1,col2);
之後,我嘗試使用INSERT COMAND添加行:
insert into participants values ("bla","blub");
我得到的錯誤:
java.sql.SQLException: table participants has 3 columns but 2 values were supplied
我認爲行ID會自動生成,但似乎我錯過了任何東西。
我嘗試另一種解決方案:
PreparedStatement prep = conn.prepareStatement("insert into participants values (?,?,?);");
Integer n = null;
prep.setInt(1,n);
prep.setString(2, "bla");
prep.setString(3, "blub");
prep.addBatch();
prep.executeBatch();
作爲結果,我在收到一個空指針異常 「prep.setInt(1,N);」
您是否看錯了?
我認爲這樣會起作用,我發現了另一種好方法並編輯了問題!謝謝 ! – Anthea
這是正確的方法。這也不是特定於SQLite的。 –
如果您正在進行模式遷移並使用select語句進行插入,您可以'插入參與者(col1,col2)從t1_backup中選擇col1,col2;' – mlissner