Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sqlite 使用NOT IN删除行_Sqlite_Flutter_Dart_Sqflite - Fatal编程技术网

Sqlite 使用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(

如何使用NOT in()在颤振中进行删除? 我尝试了几种方法,但应用程序总是崩溃:

  • 它关闭应用程序时没有错误或显示以下消息:
**

**

  • 或者它给了我

    *带有类型列表的无效参数['2e73c330-1312-42fa-ad3b-d762f96b5ec7','1ba3e7e3-2d57-4916-9ea5-2624432cf60c']。 仅支持num、String和Uint8List。有关详细信息,请参阅 这将在将来引发异常。目前,每种类型显示一次

      await db.rawDelete(
                'DELETE FROM ' +
                    dao.tableName +
                    ' WHERE ' +
                    dao.columnUuid +
                    ' NOT IN (${('?' * (params.length)).split('').join(', ')})',
                [params]);*
    
    参数是字符串列表:['2e73c330-1312-42fa-ad3b-d762f96b5ec7','1ba3e7e3-2d57-4916-9ea5-2624432cf60c']

我知道SQL注入的问题。
欢迎提供任何帮助。

params
已经是一个列表,但在您的代码中,您使用的是
[params]
(这是一个列表列表,因此会显示错误)而不仅仅是
params

是的,请使用params,而不是字符串构造!
  await db.rawDelete(
            'DELETE FROM ' +
                dao.tableName +
                ' WHERE ' +
                dao.columnUuid +
                ' NOT IN (${('?' * (params.length)).split('').join(', ')})',
            [params]);*