Ошибка синтаксиса SQLite при компиляции: INSERT INTO

Я получаю это исключение RuntimeException при выполнении AsyncTask:

Caused by: android.database.sqlite.SQLiteException: near ",": syntax error: , while compiling: INSERT INTO 'infrastructure' (lift,name,type,status,_id) VALUES ('2130837612','none','-','2130837600',0),('2130837612','none','-','2130837600',1),('2130837612','none','-','2130837600',2),('2130837612','none','-','2130837600',3),('2130837612','none','-','2130837600',4),('2130837612','none','-','2130837600',5)

Все столбцы, кроме _id, являются "текстовыми", _id - целым числом и первичным ключом.

Вот где происходит сбой:

Cursor curtsr = db.rawQuery("SELECT COUNT(*) FROM 'Infrastructure'", null);
if (curtsr != null) {
    curtsr.moveToFirst();                      // Always one row returned.
    if (curtsr.getInt(0) == 0) {               // Zero count means empty table.
        String INSERT_INFRA_VALUES = "INSERT INTO 'Infrastructure' (lift,name,type,status,_id) VALUES ('2130837612','none','-','2130837600',0),('2130837612','none','-','2130837600',1),('2130837612','none','-','2130837600',2),('2130837612','none','-','2130837600',3),('2130837612','none','-','2130837600',4),('2130837612','none','-','2130837600',5)";
        db.execSQL(INSERT_INFRA_VALUES);
    }
    curtsr.close();
}

Я не могу найти причину сбоя.

Онлайн-инструмент SQLite lint https://sqliteonline.com/ не выдает ошибок.


person Bart Ros    schedule 29.10.2017    source источник
comment
Не используйте одинарные кавычки для имен таблиц и столбцов. Я голосую за то, чтобы закрыть такие вопросы, как простые опечатки.   -  person Gordon Linoff    schedule 29.10.2017
comment
@GordonLinoff удаление кавычек из имени таблицы ничего не меняет.   -  person Bart Ros    schedule 29.10.2017


Ответы (1)


Множественные, разделенные запятыми VALUES insert был введен только в sqlite 3.7.11, и, скорее всего, вы работаете на устройство со старой версией sqlite.

person laalto    schedule 29.10.2017
comment
Что ж, это многое объясняет. Я использую уровень API 15. 3.7.11 предназначен для API 16+. - person Bart Ros; 29.10.2017