Строка для создания полной базы данных в SQLite - PullRequest
0 голосов
/ 08 марта 2019

Я написал эту строку для создания базы данных в SQLite, но я получаю ошибку CREATE непредвиденный прямо перед "CREATE corso".Это строка:

static final String DATABASE_CREAZIONE =
        "CREATE TABLE utente (id integer primary key autoincrement, "
                + "nome text not null, cognome text not null, "
                + "email text not null, password text not null);"
                + "CREATE TABLE corso (id integer primary key autoincrement," +
                "nome text not null);" +
                "CREATE TABLE prenotazione (id_utente integer primary key autoincrement, "
                + "id_docente integer primary key autoincrement, data DATETIME not null);"+
                "CREATE TABLE docenza (id integer primary key autoincrement, "
                + "nome_corso text not null, nome_prof text not null); "+
                "CREATE TABLE professore (id integer primary key autoincrement, "
                + "nome text not null, cognome text not null); ";

1 Ответ

1 голос
/ 08 марта 2019

Предупреждение выдается только в среде Android Studio, но по уважительной причине.

Android SQLiteDatabase execSQL(), который вы обычно используете для выполнения SQL, так как он выполняет только один оператор за раз. Все, что после ; будет игнорироваться.

Вам нужно разделить SQL на отдельные execSQL() вызовы. Это также избавит от предупреждения IDE и выполнит другие части SQL, чтобы вы могли обнаруживать проблемы во время выполнения, о которых сообщил Бокен в своем ответе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...