ここに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);
うまくいかない…そうですか??
in ステートメントではパラメーターを使用できません。パラメータを使用して文字列をループまたは構築してみてください
クエリ ステートメント内でパラメーターを使用することはできません。ループを使用してみてください。
@hkutluay が述べたように、これは機能しません。別のテーブルからパラメーターを取得すると仮定すると、次のことができます。
DELETE FROM tbl_node_details WHERE ParentId IN (SELECT <id_col_name> FROM <other_table> WHERE <condition>);