我试图在数据库助手的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);
感谢。
答案 0 :(得分:2)
ORDER
是SQL中的保留字。您当然可以通过将名称引用为引号来抑制该错误,例如:
database.execSQL("CREATE TABLE VEHICLE_HOURS(ID INTEGER PRIMARY KEY AUTOINCREMENT, " +
"MINUTES INTEGER, VEHICLE VARCHAR(255), \"ORDER\" INTEGER);");
但最好只选择另一个列名,然后在维护此代码时,没有人(包括你未来的自己)会讨厌你。