这是一段mysql代码
DELETE FROM tbl_node_details WHERE ParentId IN (1,2,3,4,5);
这工作正常,所有行都用各自的 id 删除。但是什么时候这样做
SET @a='1,2,3,4,5'
DELETE FROM tbl_node_details WHERE ParentId IN (@a);
它不起作用......是这样吗?
这是一段mysql代码
DELETE FROM tbl_node_details WHERE ParentId IN (1,2,3,4,5);
这工作正常,所有行都用各自的 id 删除。但是什么时候这样做
SET @a='1,2,3,4,5'
DELETE FROM tbl_node_details WHERE ParentId IN (@a);
它不起作用......是这样吗?
不能在查询语句中使用参数。尝试使用循环。
正如@hkutluay 所说,这行不通。假设您从另一个表中获取参数,您可以执行以下操作:
DELETE FROM tbl_node_details WHERE ParentId IN (SELECT <id_col_name> FROM <other_table> WHERE <condition>);
You cannot use parameters with in statement. Try to loop or build string wo parameters