android - SQLite 语法错误

标签 android sqlite

不断收到此错误 E/SQLiteLog: (1) near "stationId": syntax error

  String createReviewTable = "CREATE TABLE " + TABLE_NAME + " (" + STATION_ID + " VARCHAR," +
            "" + STATION_NAME + " VARCHAR," + STATION_LOCATION + " VARCHAR," +
            "" + STATION_TYPE + " VARCHAR," + STATION_COUNTY + " VARCHAR," +
            "" + WIFI_REVIEW + " VARCHAR," +
            "" + TOILET_REVIEWS + " VARCHAR," + TROLLEY_REVIEW + " VARCHAR," +
            "" + LIFT_REVIEW + " VARCHAR," +
            "" + STEP_FREE_REVIEW + " VARCHAR," + TICKET_MACHINE_REVIEW + " VARCHAR" + ")";
    dbm.execSQL(createReviewTable );

    String createRatingsTable= "CREATE TABLE " + RATING_TABLE_NAME + "(" + REVIEW_ID + " " +
            "INTEGER AUTO INCREMENT PRIMARY KEY , " + STATION_ID + " VARCHAR," +
            "" + WIFI_RATING + " INTEGER, " + TOILET_RATING + " INTEGER," +
            "" + TROLLEY_RATING + " INTEGER, " + LIFT_RATING + " INTEGER, " +
            "" + STEP_FREE_RATING + " INTEGER," + TICKET_MACHINE_RATING + " INTEGER," +
            "" + "FOREIGN KEY " + STATION_ID + " REFERENCES review " + STATION_ID + ")";
    dbm.execSQL(createRatingsTable);

最佳答案

您缺少 stationid 字段周围的括号。供引用:http://www.sqlite.org/foreignkeys.html

改变这个

"" + "FOREIGN KEY " + STATION_ID + " REFERENCES review " + STATION_ID + ")";

对此

"" + "FOREIGN KEY (" + STATION_ID + ") REFERENCES review (" + STATION_ID + "))";

关于android - SQLite 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29577497/

相关文章:

android - Android Studio 中的代码分享

sqlite - 确定何时解压缩数据库 zip

c++ - SQLite 真的很慢

javascript - 在遍历 .JSON 时使用 Promise.all()?

java - 观察完成后在 View 中显示 AlertDialog

Android - 与 FTDI 芯片和 d2xx 驱动程序的 USB 通信

android - 如何读取NFC A类卡页?

php - 无需第三方服务即可同步移动应用程序和网络应用程序

multithreading - 来自多个线程的 sqlite3 只读访问

java - jarsigner 在哪里?