首页 文章

SQLite:CREATE TABLE语句中的语法错误

提问于
浏览
0

我正在尝试在数据库助手的 onUpgrade 方法中执行此语句,但我收到一个错误:

database.execSQL("CREATE TABLE VEHICLE_HOURS(ID INTEGER PRIMARY KEY AUTOINCREMENT, " +
            "MINUTES INTEGER, VEHICLE VARCHAR(255), ORDER INTEGER);");

ERROR

引起:android.database.sqlite.SQLiteException:接近“ORDER”:语法错误(代码1):,编译时:CREATE TABLE VEHICLE_HOURS(ID INTEGER PRIMARY KEY AUTOINCREMENT,MINUTES INTEGER,VEHICLE VARCHAR(255),ORDER INTEGER) ;

谢谢 .

1 回答

  • 2

    ORDER 是SQL中的保留字 . 您当然可以通过将名称引用为引号来抑制该错误,例如:

    database.execSQL("CREATE TABLE VEHICLE_HOURS(ID INTEGER PRIMARY KEY AUTOINCREMENT, " +
            "MINUTES INTEGER, VEHICLE VARCHAR(255), \"ORDER\" INTEGER);");
    

    但最好只选择另一个列名,然后在维护此代码时,没有人(包括你未来的自己)会讨厌你 .

相关问题