我确信必须有一个简单的答案,但我用Google搜索的所有内容似乎都使事情变得复杂,现在我不太确定。
所以这就是我现在需要做的就是将记录插入到我的表中
INSERT INTO CAT_BUD_TAB (_id, CAT_ITEM, IN_OUT) VALUES (null, 'Student Loan', 'out');
INSERT INTO CAT_BUD_TAB (_id, CAT_ITEM, IN_OUT) VALUES (null, 'Food', 'in');
我认为必须有一个更短的方式,比如说......
INSERT INTO CAT_BUD_TAB (_id, CAT_ITEM, IN_OUT) VALUES (null, 'Student Loan', 'out'),(null, 'Food', 'in');
我正在使用SQLite,因为我正在为Android开发,但我很确定它是SQLite3,这意味着像上面的INSERTS应该是可能的吗?我该怎么做?
答案 0 :(得分:3)
尝试使用声明如下:
INSERT INTO table(field1,field2) SELECT "value1","value2" UNION SELECT "value1","value2" ...
答案 1 :(得分:2)
这是官方参考:
http://www.sqlite.org/lang_insert.html
然而,似乎有可能:
insert into myTable (col1,col2)
select aValue as col1,anotherValue as col2
union select moreValue,evenMoreValue
union...
另外,请考虑使用以下内容:
begin transaction;
insert into ...;
insert into ...;
etc.
commit;
答案 2 :(得分:1)
我不知道组合多个插件。我认为这是不可能的!
如果要在很短的时间内插入长列表,请使用事务和预准备语句。
你需要什么?
答案 3 :(得分:1)
SQLite理解的SQL语法文档似乎表明每个VALUES
语句只能使用一组INSERT
。
答案 4 :(得分:0)
简单的方法是将value1和value2存储在数组中,并使用像
这样的for循环for(int i = 0;i< value1.length,i++)
{
INSERT INTO CAT_BUD_TAB (_id, CAT_ITEM, IN_OUT) VALUES (null, 'value1[i]', 'value2[i]');
}