如何使用"in"删除多条记录(使用参数)
how to use "in" to delete multiple records (by using parameter)
我试图在一个语句中删除多条记录
我使用以下 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”适用于他们两个。
我不敢相信我会这么说,但不要使用参数。如果你正在为你的字符串解析每个数字,你应该避免 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 Sub
我试图在一个语句中删除多条记录 我使用以下 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”适用于他们两个。
我不敢相信我会这么说,但不要使用参数。如果你正在为你的字符串解析每个数字,你应该避免 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 Sub