首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用in删除多条记录(通过参数)

问如何使用in删除多条记录(通过参数)
EN

Stack Overflow用户
提问于 2021-10-05 17:14:28
回答 1查看 59关注 0票数 0

我尝试在一条语句中删除多条记录,我使用以下Sql语句:

代码语言:javascript
复制
DELETE FROM `tblregs2` WHERE `RegdID` IN (@RegdID)

我在执行代码时收集参数值,并将参数值保存在字符串变量中。

但是我得到的结果是:"1,2,3,4“,所以SQL语句将是:

代码语言:javascript
复制
DELETE FROM `tblregs2` WHERE `RegdID` IN ("1,2,3,4")

但是"in“不接受双引号,所以我需要像1,2,3,4那样使用它

代码语言:javascript
复制
    DELETE FROM `tblregs2` WHERE `RegdID` IN (1,2,3,4)

怎么会得到这样的结果呢?

顺便说一下,代码使用"FIND_IN_SET“,但我使用两种数据库类型(MySQL + SQLite),所以"In”可以同时使用这两种类型。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-06 01:51:09

我不敢相信我会这么说,但不要使用参数。如果要为字符串解析每个数字,则应避免Sql注入。

代码语言:javascript
复制
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim s = "1,2,3,4"
    Dim strSQL = $"DELETE FROM `tblregs2` WHERE `RegdID` IN ({s})"
    MessageBox.Show(strSQL)
End Sub
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69454698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档