0

假设我想运行类似于以下内容的查询:

SELECT _id FROM my_table WHERE name = user_supplied_name

如果用户提供了一个任意长度的名称数组,我需要从 my_table 中获取相应的 _id 数字数组怎么办?

是正确的解决方案:

a.) 提供类似于以下内容的 WHERE 子句:

WHERE name = name_1 OR name = name_2 OR name = name_3 ... etc

b.) 为每个名称查询触发多个加载器(与我的第一个片段格式相同)。但是,当每个 Loader 都具有不同的 ID 时(如在 Loader.getId() 中),如何跟踪它们。据推测,您必须保留一定范围的 ID 号(例如 10 到 20)以避免冲突,但是您可以提供的名称数量受到限制,跟踪分配了哪些名称等。

c.) 其他方式?

4

1 回答 1

0

使用多个加载器不仅难以管理,而且效率低下。

使用一个查询搜索多个名称就可以了,并且与您想要对结果执行的操作最匹配,所以去吧。


顺便说一句:您还可以使用IN

SELECT _id FROM my_table WHERE name IN ('name1', 'name2', ...)
于 2012-09-22T12:19:03.810 回答