我尝试在一条语句中删除多条记录,我使用以下Sql语句:
DELETE FROM `tblregs2` WHERE `RegdID` IN (@RegdID)我在执行代码时收集参数值,并将参数值保存在字符串变量中。
但是我得到的结果是:"1,2,3,4“,所以SQL语句将是:
DELETE FROM `tblregs2` WHERE `RegdID` IN ("1,2,3,4")但是"in“不接受双引号,所以我需要像1,2,3,4那样使用它
DELETE FROM `tblregs2` WHERE `RegdID` IN (1,2,3,4)怎么会得到这样的结果呢?
顺便说一下,代码使用"FIND_IN_SET“,但我使用两种数据库类型(MySQL + SQLite),所以"In”可以同时使用这两种类型。
发布于 2021-10-06 01:51:09
我不敢相信我会这么说,但不要使用参数。如果要为字符串解析每个数字,则应避免Sql注入。
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 Subhttps://stackoverflow.com/questions/69454698
复制相似问题