如果(1,2,3,4,4,5)来自SELECT id …查询,那么你可以这样做:
UPDATE yourTable
JOIN
( SELECT id
, COUNT(id) AS counter
....
GROUP BY id
) AS data
ON yourTable.id = data.id
SET yourTable.field = yourTable.field + data.counter
;
由于输入来自用户,也许您可以稍微操纵它.改变(1,2,3,4,4,5)至(1),(2),(3),(4),(4),(5).
然后(创建了一个临时表):
CREATE TABLE tempUpdate
( id INT )
;
执行以下过程:
>在临时表中添加值,
>运行更新和
>删除值.
码:
INSERT INTO TempUpdate
VALUES (1), (2), (3), (4), (4), (5)
;
UPDATE yourTable
JOIN
( SELECT id
, COUNT(id) AS counter
FROM TempUpdate
GROUP BY id
) AS data
ON yourTable.id = data.id
SET yourTable.field = yourTable.field + data.counter
;
DELETE FROM TempUpdate
;