Android SQLite创建表语法错误(代码1)
我正在尝试创建SQLite数据库,如下所示:Android SQLite创建表语法错误(代码1),android,sqlite,Android,Sqlite,我正在尝试创建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"; priv
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) );
我真的看不出有什么问题:-/欢迎任何可能出错的建议,谢谢大家默认值是SQL中的一个关键字。更改变量ADD中的列名。更改ADD的值不能为默认值,因为它是SQL中的保留字。默认值是SQLite的关键字。你可能不应该把它当作一个名字。如果要使用关键字作为名称,则需要引用它
下面是一些您可能需要检查的SQLite文档:可能是因为添加,更改为添加到其他名称,如添加或其他。我想DEFAULTcase-sensitive是一个关键字,不能用作行名称。只是猜测而已。请尝试使用另一个名称而不是默认名称。更像是默认名称的问题,即“添加”的值,请将其更改为其他名称。默认名称或“添加”可以是名称,而不是变量。所以我的字符串ADD=。。。可以,但当我有String=add时,显然也有问题