前提・実現したいこと
sqliteを使ったandroidアプリを作成しています。
登録するデータに連番を振りたいです。
レコードの削除と追加を繰り返すと歯抜けのindexができてしまうのを防ぎたいです。
該当のソースコード
java
1private String searchId = "SELECT MIN(_ID + 1) FROM mySheet WHERE (_ID + 1) NOT IN (SELECT _ID FROM mySheet);"; 2 3private SQLiteDatabase db = null; 4 5db.beginTransaction(); 6 7 try { 8 Cursor c = db.query( 9 DB_TABLE, 10 new String[]{COL_ID}, 11 searchId, 12 null, 13 null, 14 null, 15 null 16 ); 17 18 ContentValues values = new ContentValues(); 19 values.put(COL_ID, c.getInt(0)); 20 values.put(COL_PRODUCT, product); 21 values.put(COL_MADEIN, madein); 22 values.put(COL_NUMBER, number); 23 values.put(COL_PRICE, price); 24 25 db.insert( 26 DB_TABLE, 27 null, 28 values 29 ); 30 31 db.setTransactionSuccessful(); //トランザクションへコミット
試したこと
String型にしているSQL文をSQLite Serverで試したところ、
思っていた結果が得られたのですが、androidアプリでの実装の仕方がわかりません。
ご教授いただけますでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。