private static final String DATABASE_TABLE_TRANS = "Transaction";
private static final String DATABASE_CREATE_TRANS =
"create table " + DATABASE_TABLE_TRANS + "(_id integer primary key autoincrement, "
+ "Amount text not null, " + "Name_of_bank text unique not null, "
+ "Trans_Time text not null);";
public void onCreate(SQLiteDatabase db)
{
System.out.println("oncreate of dbbbbbbbbbbbbbbbbb");
db.execSQL(DATABASE_CREATE_TRANS);
}
在跑步时我收到错误:
08-05 14:40:15.187: ERROR/AndroidRuntime(5362):
android.database.sqlite.SQLiteException: near "Transaction": syntax
error: create table Transaction(_id integer primary key autoincrement,
Amount text not null, Name_of_bank text unique not null, Trans_Time
text not null);
我做错了什么?
答案 0 :(得分:5)
我猜“交易”是一个不允许使用的关键词。尝试将名称更改为其他名称。
答案 1 :(得分:1)
使用SQLite关键字作为标识符名称时必须小心。作为一般规则 你应该尽量避免使用SQL语言中的任何关键字作为标识符,但如果你真的想这样做,可以使用它们,只要它们是封闭的 在方括号内。 例如,以下语句可以正常工作,但不应在真实数据库上模仿 源码> CREATE TABLE [表]( ...> [选择], ...> [INTEGER] INTEGER, ...> [从], ...> [表] ...> );
这是sqlite关键字的链接
http://www.sqlite.org/lang_keywords.html
在这里你可以找到数据库的命名约定
http://www.pearsonhighered.com/assets/hip/us/hip_us_pearsonhighered/samplechapter/067232685X.pdf