Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SQLite创建表语法错误(代码1)_Android_Sqlite - Fatal编程技术网

Android SQLite创建表语法错误(代码1)

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

我正在尝试创建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)  );
我真的看不出有什么问题:-/欢迎任何可能出错的建议,谢谢大家

默认值是SQL中的一个关键字。更改变量ADD中的列名。更改ADD的值不能为默认值,因为它是SQL中的保留字。默认值是SQLite的关键字。你可能不应该把它当作一个名字。如果要使用关键字作为名称,则需要引用它


下面是一些您可能需要检查的SQLite文档:

可能是因为添加,更改为添加到其他名称,如添加或其他。我想DEFAULTcase-sensitive是一个关键字,不能用作行名称。只是猜测而已。请尝试使用另一个名称而不是默认名称。更像是默认名称的问题,即“添加”的值,请将其更改为其他名称。默认名称或“添加”可以是名称,而不是变量。所以我的字符串ADD=。。。可以,但当我有String=add时,显然也有问题