15 lines
518 B
SQL
15 lines
518 B
SQL
-- 为 watch_id 为 NULL 的设备分配 900-1000 之间的唯一 ID
|
|
-- 注意:此脚本假设 900-1000 范围内没有被现有设备占用
|
|
-- 仅更新最多 101 条记录,以防超出范围
|
|
|
|
WITH target_devices AS (
|
|
SELECT id, ROW_NUMBER() OVER (ORDER BY bind_time ASC) as rn
|
|
FROM public.ak_devices
|
|
WHERE watch_id IS NULL
|
|
LIMIT 101 -- 900到1000共101个数字
|
|
)
|
|
UPDATE public.ak_devices
|
|
SET watch_id = 899 + target_devices.rn
|
|
FROM target_devices
|
|
WHERE public.ak_devices.id = target_devices.id;
|