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

时间:2016-02-01 12:02:07

标签: sql sqlite

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

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

错误

  

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

感谢。

1 个答案:

答案 0 :(得分:2)

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

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

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