Исключение sql при создании базы данных в android

Я создаю базу данных SQLite в приложении. Мне нужно сохранить значение String в таблице. Это имя Table и имя столбца, необходимые для создания базы данных.

// Database Version
    private static final int DATABASE_VERSION = 1;

    // Database Name
    private static final String DATABASE_NAME = "note";

    // Table Names
    private static final String TABLE_TABLES = "tableslist";

    // TABLES Table - column nmaes
    private static final String ALL_TABLES = "Table";

Это мое заявление о создании базы данных как

private static final String CREATE_TABLE_TABLELIST=" CREATE TABLE "+TABLE_TABLES+ "(" + ALL_TABLES + " TEXT "+ ")";  

Это метод добавления записи в таблицу в классе, который расширяет SqLiteOpenHelper.

 public void addAllTables(String tab){
        SQLiteDatabase db=this.getWritableDatabase();
        ContentValues values=new ContentValues();
        values.put("table",tab);
        db.insert(TABLE_TABLES,null,values);
    }  

Во фрагменте я вставляю значение как

DatabaseHelper db=new DatabaseHelper(getActivity());
   db.addAllTables(response.toString());  

где ответ - мой JSONArray, который мне нужно сохранить в базе данных в виде строки. Я получаю исключение as
android.database.sqlite.SQLiteException: near "Table": syntax error (code 1): , while compiling: CREATE TABLE tableslist(Table TEXT )
Как решить эту проблему?

Table - зарезервированное слово, вы не можете использовать его в качестве имени столбца
Vladyslav Matviienko 31.10.2018 11:52

закрытая статическая конечная строка CREATE_TABLE_TABLELIST = "СОЗДАТЬ ТАБЛИЦУ" + ТАБЛИЦЫ_ТАБЛИЦЫ + "(" + ALL_TABLES + "" + "ТЕКСТ" + ");"; Пробелы между + не важны, просто чтобы код выглядел лучше, а остальное -

SkypeDogg 16.11.2018 12:19
0
2
28
0

Другие вопросы по теме