Почему я получаю синтаксическую ошибку при попытке поменять местами две строки одной таблицы?Android

Форум для тех, кто программирует под Android
Anonymous
Почему я получаю синтаксическую ошибку при попытке поменять местами две строки одной таблицы?

Сообщение Anonymous »

таблица:

Код: Выделить всё

db.execSQL("CREATE TABLE IF NOT EXISTS section (id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT (255) NOT NULL, image TEXT (20) NOT NULL)");
Я хочу поменять местами две строки одной и той же таблицы в базе данных SQLite:

Код: Выделить всё

SQLiteDatabase db = this.getWritableDatabase();
db.execSQL( "UPDATE section as s1 inner join section as s2 on (s1.id, s2.id) in (("+fromPosition+","+toPosition+"),("+toPosition+","+fromPosition+")) set s1.title=s2.title, s1.image=s2.image");
Ошибка:

SQLiteException: рядом с «as»: синтаксическая ошибка (код SQLITE 1 SQLITE_ERROR): при компиляции : ОБНОВЛЕНИЕ раздела как раздел внутреннего соединения s1 как s2 на (s1.id, s2.id) в ((6,7),(7,6)) set s1.title=s2.title, s1.image=s2.image , (ошибка ОС – 0: успех)


Подробнее здесь: https://stackoverflow.com/questions/789 ... same-table

Вернуться в «Android»