2017-05-10 3 views
0

Ich versuche, eine Zeile in einer SQLite-Tabelle zu kopieren, aber ich bekomme einen Syntaxfehler:SQLite Syntaxfehler - ein Komma

android.database.sqlite.SQLiteException: near ",": syntax error (code 1): , while compiling: INSERT INTO tokens(colour, power, ts) SELECT (colour, power, ts) FROM tokens WHERE _id = 1 

Meine Frage wie folgt aussieht:

db.execSQL("INSERT INTO " + TABLE_TOKENS + "(" + COLUMN_COLOUR + ", " + COLUMN_POWER + ", " + COLUMN_TS + ")" + 
      " SELECT (" + COLUMN_COLOUR + ", " + COLUMN_POWER + ", " + COLUMN_TS + ")" + 
      " FROM " + TABLE_TOKENS + 
      " WHERE _id = " + id); 

Für mir sieht es gut aus und ich schätze, es würde ohne Kommas nicht funktionieren ...

+0

http://stackoverflow.com/q/16838896/438992 –

+0

Und Sie sollten auf jeden Fall Google „SQL Injection“ – Marged

Antwort

1

Die Auswahlprojektion ist syntaktisch nicht korrekt. Ändern Sie SELECT (colour, power, ts) zu SELECT colour, power, ts.

+0

Ich ging viele Fäden durch eine Reihe in Bezug auf das Kopieren und in jedem von ihnen da waren diese Klammern. Ich kann nicht glauben, dass niemand darauf hingewiesen hat. Es funktioniert jetzt, danke! –

Verwandte Themen