我有一个代码点火器服务器,它响应这样的数据:
{
success: true,
{
data: {
{
name: 'Elizabeth Gusto',
title: 'Marketing/sales'
},
{
name: 'Martin Pablo',
title: 'Field Sales'
},
{
name: 'Brian Carey',
title: 'In House I.T.'
},
...
}
}
}
我获取这些数据并直接保存到我正在处理的应用程序中的 sql 数据库中,其中包含列: ID, Name, Title,...
ID 只是一个主键,设置为 AUTO INCREMENT
注意:我在颤振中使用sqflite插件来保存数据。但是工作与SQL查询完全相同。
如何将我从服务器收到的所有数据与 sql 数据库中可用的数据进行比较?即服务器的响应是否与我在 sql 中存储的内容匹配?
首先,您应该定义标识传入记录的内容。在您的示例中,ID 不是传入值的一部分,因此您显然不能使用它。
- 例如,您可以定义仅名称标识记录。然后,您可以在数据库中查询此类记录并比较所有剩余字段。
- 或者,您可以定义所有属性标识记录,并且可以通过匹配查询中的所有数据来查找它。
这取决于您的要求下一步该怎么做。 例如,更新找到的条目或创建新条目,或者您甚至可能想要删除旧记录。但你应该明白这个想法。
为了加快速度,您应该为要搜索的列(标识记录的列(创建一个复合数据库索引(可能使用多个列(。
若要进一步加快速度并减少数据库和程序之间的往返次数,请使用预准备语句和批处理语句。