0
我用下面的代碼使用批量插入的Android SQLite的SQLite的綁定插入語句拋出錯誤具有獨特的鍵
String sql = "INSERT INTO "+ SQL_DATABASE_GLOBALS.TEMPSORT_TABLE +" VALUES (?,?,?,?,?,?,?,?,?,?,?);";
Log.d("Line", "1");
SQLiteStatement statement = SQL_DATABASE_GLOBALS.SQL_DATABASE.compileStatement(sql);
Log.d("Line", "2");
SQL_DATABASE_GLOBALS.SQL_DATABASE.beginTransaction();
Log.d("Line", "3");
statement.clearBindings();
statement.bindLong(1, 0);
statement.bindString(2, "Site");
statement.bindString(3, this.SearchLocation);
statement.bindString(4, TitleElement);
statement.bindString(5, NewURL);
statement.bindString(6, ImageHREFElement);
statement.bindString(7, PriceElement);
statement.bindString(8, "WebSIteDescription"); //Description
statement.bindString(9, LocationElement);
statement.bindString(10, TrueDateTime);
statement.bindString(11, TrueDateTime);
Log.d("Line", "4");
long result = statement.executeInsert();
Log.d("Results", "SQL Result" + result);
SQL_DATABASE_GLOBALS.SQL_DATABASE.setTransactionSuccessful();
SQL_DATABASE_GLOBALS.SQL_DATABASE.endTransaction();
現在刀片本身做一個插入到數據庫中的作品的作品,但這個問題我'm have是數據庫中的第一個項目實際上是一個獨特的自動增量列。所以我得到的錯誤...
「主鍵必須是唯一的」
我將如何處理這是否正常?我是否真的必須坐下來完全創建實際的插入語句,而不是僅僅使用我所做的方法?
不,我不想使用構造值,我想要堅持這種類型的插入。
順便說一句,你應該做你幫個忙,解決列明確,不隱。意思是:INSERT INTO Foo(a,b)VALUES(?,?)。否則,遲早你會遇到麻煩...當你的應用程序生活並獲得第一次修改。 – gorefest 2014-12-11 08:23:02