-1

我不明白为什么这不起作用。有人可以解释我需要做什么吗?

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);
4

1 回答 1

1

它将 @my_list 解释为单个 id,因此您要求它从 my_table 中删除您的 id 是字符串“2,6,8,10,12,13,14,18,19,21”

你可以试试

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);
于 2011-10-18T23:43:25.400 回答