itsource

mysql에서 증분 값 업데이트

mycopycode 2023. 1. 28. 09:36
반응형

mysql에서 증분 값 업데이트

테이블 필드의 한 필드는 모든 행에 대해 0으로 설정됩니다.그러나 업데이트 쿼리에서 단계 1까지 증분 값을 업데이트하고 싶습니다.

어떻게 하면 mysql에서 할 수 있을까요?

이것을 시험해 보세요.

mysql> select @i := 0;
mysql> update bar set c = (select @i := @i + 1);
SET @a = 0;  
UPDATE customers SET id = @a:=@a+1;

이것도 할 수 있어요.

첫 번째 방법은 원래 컬럼이 아닌 AUTO_INCREMENT 컬럼으로 새 테이블을 만들고 오래된 모든 데이터를 새 테이블에 삽입한 후 새 테이블의 이름을 변경하고 오래된 테이블을 삭제하는 것입니다.

또 다른 방법은 각 행에 대해 증가 수를 생성하는 MySQL 변수를 사용하여 업데이트 쿼리를 실행하는 것입니다(다른 DBMS 시스템에 있는 ROW_NUMBER() 함수를 에뮬레이트합니다).

단일 라인 솔루션:

UPDATE tablename AS a, (SELECT @a := 0) AS b SET a.fieldname = @a:=@a+1

가장 쉬운 방법은 필드를 삭제하고 자동 증분 방식으로 다시 만드는 것입니다.

언급URL : https://stackoverflow.com/questions/4438976/update-values-incrementally-in-mysql

반응형