我在创建数据库时将数据插入数据库时出现语法错误。Android INSERT语句问题
我使用下面的代码:
//DatabaseHelper class
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_INSPECTION_TABLE);
db.execSQL(CREATE_AREA_TABLE);
db.execSQL(CREATE_RUN_TABLE);
db.execSQL(CREATE_LOCATION_TABLE);
db.execSQL(CREATE_INSPECTORS_TABLE);
db.execSQL(CREATE_ISSUE_LOCATION_TABLE);
db.execSQL(CREATE_ISSUE_TYPE_TABLE);
db.execSQL(CREATE_RACKING_SYSTEM_TABLE);
db.execSQL(CREATE_COMPONENT_TABLE);
db.execSQL(CREATE_RISK_TABLE);
db.execSQL(CREATE_ACTION_TABLE);
db.execSQL(CREATE_MANUFACTURER_TABLE);
db.rawQuery("INSERT INTO " + INSPECTORS_TABLE + "(" + INSPECTOR_NAME + ") " +
"SELECT 'Joe Bloggs' AS " + INSPECTOR_NAME +
" UNION SELECT 'John Major' " +
" UNION SELECT 'Dan the man'"
, null);
db.rawQuery("INSERT INTO " + ACTION_TABLE + "(" + ACTION_REQUIRED + ") " +
"SELECT 'Red Risk' AS " + ACTION_REQUIRED +
" UNION SELECT 'Amber Risk' " +
" UNION SELECT 'Green Risk'"
, null);
编辑后再次RedFliter的很好的建议。我确信现在的查询是正确的,但尽管我没有收到任何错误,但没有记录输入到表中(每次使用DDMS删除数据库)。
我把这段代码放在正确的位置(即onCreate)?
不知道我要去哪里错了..
非常感谢。
好的谢谢,试过了,但后来得到SQLiteException:1列的值为4。认为我应该包括括号,但仍然有错误 - 我已经相应地修改了这个问题。 – Scamparelli
@Scamparelli看到我的更新 – RedFilter
感谢RedFilter,很好的回应 - 刚到家,并会放弃。将尽快剔!戴夫 – Scamparelli