Bạn có thể sử dụng UPDATE
với JOIN
vào một bảng dẫn xuất cho điều này:
UPDATE Items AS i1
JOIN (
SELECT ID, @n := @n + 1 AS Image
FROM Items
CROSS JOIN (SELECT @n := (SELECT MAX(Image) FROM Items)) AS v
WHERE Image IS NULL
ORDER BY ID
) AS i2 ON i1.ID = i2.ID
SET i1.Image = i2.Image;
Bảng dẫn xuất sử dụng các biến để tính toán Image
giá trị của các bản ghi có NULL
s.