0

我正在尝试在单个查询中将两行值插入到仅两列中,遵循这个装饰精美的问题,在单个 SQL 查询中插入多行?,但是用我的代码

DatabaseHelper helper = new DatabaseHelper(RegisterActivity.this);
database = helper.getWritableDatabase();
database.query("usersdata", fields, null, null, null, null, null);
database.rawQuery("INSERT INTO usersdata ( userName, userType ) VALUES " + "( '" +   firstTime + "' , 'flag' ) , ( '" + name + "' , 'Owner' )", null);
database.close();

我收到错误

android.database.sqlite.SQLiteException: near ",": syntax error: , while compiling: INSERT INTO usersdata ( userName, userType ) VALUES ( 'hasBeenRegistered' , 'flag' ) , ( 'kwish' , 'Owner' )

看来我的引号不是问题,因为它说:在“,”哪个“,”附近有问题,我不知道...我也尝试过引号后没有空格-不是那应该很重要。对此的任何帮助将不胜感激!TIA(现在看到我不需要连接 VALUES 和(,但这也不重要!)

4

2 回答 2

1

根据文档,Android 附带 SQLite 3.4.0。直到SQLite 3.7.11才支持您想要做的事情。

你必须像这样重写(来自这个答案):

INSERT INTO 'tablename'
      SELECT 'data1' AS 'column1', 'data2' AS 'column2'
UNION SELECT 'data3', 'data4'
UNION SELECT 'data5', 'data6'
UNION SELECT 'data7', 'data8'
于 2013-04-18T19:29:03.573 回答
0

这里只是一个猜测,但您引用的帖子专门关于 SQLServer。SQLite 很可能不支持单个查询中的多行插入 - 或者可能不支持相同的语法。看看这里 -是否可以在 SQLite 数据库中一次插入多行?

于 2013-04-18T19:31:45.233 回答