我正在尝试使用 IN 函数和变量更新表。
变量的内容是一个子查询,它返回每个字符串的预期值(即 ID)。当我复制/粘贴更新中的值时,一切都很好。
USE `DB1`;
SET SQL_SAFE_UPDATES = 0;
SET @VAR1 = "STRING1,STRING2,STRING3,STRING4";
SET @VAR2 = (SELECT GROUP_CONCAT(`id`) FROM `tbl_A` WHERE FIND_IN_SET(`description`, @VAR1) AND `fieldtype` = '');
UPDATE `tbl_A`
SET `idaccount` = 2
WHERE `id` IN (@VAR2);
SET SQL_SAFE_UPDATES = 1;
那么为什么当我使用变量时,它只更新第一行呢?