0

这是一段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);

它不起作用......是这样吗?

4

3 回答 3

0

不能在查询语句中使用参数。尝试使用循环。

于 2012-04-23T08:43:18.183 回答
0

正如@hkutluay 所说,这行不通。假设您从另一个表中获取参数,您可以执行以下操作:

DELETE FROM tbl_node_details WHERE ParentId IN (SELECT <id_col_name> FROM <other_table> WHERE <condition>);
于 2012-04-23T08:44:04.727 回答
0

You cannot use parameters with in statement. Try to loop or build string wo parameters

于 2012-04-23T08:41:54.990 回答