Sqlite 使用NOT IN删除行
如何使用NOT in()在颤振中进行删除? 我尝试了几种方法,但应用程序总是崩溃:Sqlite 使用NOT IN删除行,sqlite,flutter,dart,sqflite,Sqlite,Flutter,Dart,Sqflite,如何使用NOT in()在颤振中进行删除? 我尝试了几种方法,但应用程序总是崩溃: 它关闭应用程序时没有错误或显示以下消息: ** ** 或者它给了我 *带有类型列表的无效参数['2e73c330-1312-42fa-ad3b-d762f96b5ec7','1ba3e7e3-2d57-4916-9ea5-2624432cf60c']。 仅支持num、String和Uint8List。有关详细信息,请参阅 这将在将来引发异常。目前,每种类型显示一次 await db.rawDelete(
- 它关闭应用程序时没有错误或显示以下消息:
- 或者它给了我
*带有类型列表的无效参数['2e73c330-1312-42fa-ad3b-d762f96b5ec7','1ba3e7e3-2d57-4916-9ea5-2624432cf60c']。
仅支持num、String和Uint8List。有关详细信息,请参阅
这将在将来引发异常。目前,每种类型显示一次
参数是字符串列表:['2e73c330-1312-42fa-ad3b-d762f96b5ec7','1ba3e7e3-2d57-4916-9ea5-2624432cf60c']await db.rawDelete( 'DELETE FROM ' + dao.tableName + ' WHERE ' + dao.columnUuid + ' NOT IN (${('?' * (params.length)).split('').join(', ')})', [params]);*
欢迎提供任何帮助。
params
已经是一个列表,但在您的代码中,您使用的是[params]
(这是一个列表列表,因此会显示错误)而不仅仅是params
是的,请使用params,而不是字符串构造!
await db.rawDelete(
'DELETE FROM ' +
dao.tableName +
' WHERE ' +
dao.columnUuid +
' NOT IN (${('?' * (params.length)).split('').join(', ')})',
[params]);*