Mysql
 sql >> Base de données >  >> RDS >> Mysql

Android SQLite Insérer s'il n'existe pas

Vérifiez si la ligne existe déjà dans la base de données ou non, et en fonction de cette mise à jour ou insérez vos données :

 public Long saveUser(Some values) {
            long rowId;
            String sql = "SELECT * FROM Data2 WHERE COLUMN_1 = ? AND COLUMN_2 = ?";
            Cursor cursor = getSqLiteDatabase().rawQuery(sql, new String[]{"column_value_1" ,"column_value_2"});
            if (cursor == null || !cursor.moveToFirst()) {
                //Insert new
                rowId = getSqLiteDatabase().insert(Data2, null, yourCV);
            } else {
                //Update
                String clause = "COLUMN_1 = ? AND COLUMN_2 = ?";
                String args[] = {"column_value_1" ,"column_value_2"};
                rowId = getSqLiteDatabase().update(User.DB_KEYS.TABLE.toString(), UserSqlStorage.saveUserCV(user), clause, args);
            }
            closeCursor(cursor);
            return rowId;
        }