Selvarathinam Vinoch
Selvarathinam Vinoch

Reputation: 1110

Copy values from one table to another with 'where' condition

I want to copy values from songDetails table to playlistDetails table.

here is my code :

public void transferData(String name) {

    SQLiteDatabase db = this.getWritableDatabase();
    String selectQuery = "INSERT INTO "+ TABLE_CURRENTLIST + " SELECT * FROM " + TABLE_DATA + " WHERE " + KEY_ALBUMNAME+ " = " + name + "";
    db.execSQL(selectQuery);
}

While executing this code, it throws this exception

01-31 01:29:49.426: E/AndroidRuntime(3102): android.database.sqlite.SQLiteException: no such column: unknown (code 1): , while compiling: INSERT INTO PlayListDetails SELECT * FROM songDetails WHERE albumName = unknown

the value of 'name' variable is correct. And i want to copy only the rows which have the albumName as unknown. I'm struggled with this. Please help me.

Upvotes: 0

Views: 651

Answers (1)

RP-
RP-

Reputation: 5837

You are missing single quotes around query param value (unknown). Your query should be

String selectQuery = "INSERT INTO "+ TABLE_CURRENTLIST + " SELECT * FROM " + TABLE_DATA + " WHERE " + KEY_ALBUMNAME+ " = '" + name + "'";

My suggestion would be to use PreparedStatement style parameters.

Upvotes: 1

Related Questions