고유해야하는 ID 열이있는 테이블이 PostgreSQL에 있습니다. 그러나 많은 행 (약 3 백만)은 현재 ID가 "1"입니다.증가 값으로 업데이트하는 방법
내가 알고있는 무엇 :
- 행의 총 수
- ID 열에
- "1"
내가 필요한 것은 "1"의 ID를 가진 모든 행을 가져 와서 자동으로 증가하는 새 ID를 할당하여 테이블의 모든 행이 고유 ID를 갖게하는 쿼리입니다. currentMaxId + 1
에서 시작하여 각 행에 후속 ID를 할당하고 싶습니다.
이 내가 쿼리를 가까이서 보는 것입니다 :
UPDATE table_name
SET id = (
SELECT max(id) FROM table_name
) + 1
WHERE id = '1'
이 문제는 내부 SELECT는 따라서 원래 문제의 행의 ID를 설정, 처음 실행하는 것입니다 max(id) + 1
, 매번 새로운 max(id) + 1
이 아니며, 해결하려고하는 것과 동일한 문제를 제공합니다.
원하는 결과 또는 대체 방법을 얻기 위해이 쿼리를 조정하는 방법에 대한 제안은 크게 감사하겠습니다.
예 , 그 덕분에, 고마워! – user3537769