SQLite CREATE TABLE 语法错误(代码 1)



我正在尝试像这样创建SQLite数据库:

private static final String UID = "_id";
private static final String NAME = "Name";
private static final String TYPE = "Type";
private static final String UNITS = "Units";
private static final String CURRENCY = "Currency";
private static final String PRICE = "Price";
private static final String ADD = "Default";
private static final String WEATHER = "Depends";
private static final String CREATE_TABLE = 
     " CREATE TABLE "+TABLE_NAME+
     " ( "  +UID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+
     NAME+     " VARCHAR (255), "+
     TYPE+     " VARCHAR (255), "+
     UNITS+    " VARCHAR (255), "+
     CURRENCY+ " VARCHAR (255), "+
     PRICE+    " VARCHAR (255), "+
     ADD+      " VARCHAR (255), "+
     WEATHER+  " VARCHAR (255)  ); ";
public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_TABLE);
}

获取此错误日志:

Caused by: android.database.sqlite.SQLiteException: near "Default": 
syntax error (code 1): , while compiling: CREATE TABLE Meters ( _id INTEGER 
PRIMARY KEY AUTOINCREMENT, Name VARCHAR (255), Type VARCHAR (255), Units 
VARCHAR (255), Currency VARCHAR (255), Price VARCHAR (255), Default VARCHAR 
(255), Depends VARCHAR (255)  );

我真的看不出问题:-/欢迎任何可能出错的建议,谢谢大家

DEFAULT是SQL中的一个关键字。将变量中的列名ADD更改为其他名称。

Default是SQLite的关键字。您可能不应该将其用作名称。如果要使用关键字作为名称,则需要将其括起来。

以下是您可能想要检查的一些SQLite文档: https://www.sqlite.org/lang_keywords.html

更改 的值ADD它不能Default,因为它是 SQL 中的保留字

最新更新