반응형
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
반응형
'itsource' 카테고리의 다른 글
Python에서 변수와 함수에 대한 명명 규칙은 무엇입니까? (0) | 2023.01.28 |
---|---|
치명적인 오류: 클래스 'Iluminate'기초\응용 프로그램을 찾을 수 없습니다. (0) | 2023.01.28 |
MySQL: MySQL에서 플러시 권한이 필요한 경우 (0) | 2023.01.28 |
주어진 대로 mysql에서 데이터를 주문하는 방법 (0) | 2023.01.28 |
폼이 전송되었는지 확인하는 중 - PHP (0) | 2023.01.28 |