我不明白为什么这不起作用。有人可以解释我需要做什么吗?
SET @my_list = '2,6,8,10,12,13,14,18,19,21';
DELETE FROM my_table WHERE my_table.table_id IN (@my_list);
答案 0 :(得分:1)
它将@my_list解释为单个id,所以你要求它从my_table中删除你的id为字符串“2,6,8,10,12,13,14,18,19,21”< / p>
你可以尝试
SET @my_list = '2,6,8,10,12,13,14,18,19,21';
SET @exec = CONCAT('DELETE FROM my_table WHERE my_table.table_id IN (', @my_list ,')');
EXECUTE (@exec);