반응형
배열 값으로 열을 순차적으로 업데이트
새 열 'color'를 추가한 테이블이 있습니다.이제 기존의 모든 행을 세 가지 색상('#F00', '#0F0', '#00F') 중 하나로 순차적으로 업데이트하고자 합니다.
따라서 첫 번째 행은 #F00, 두 번째 행은 #0F0, 세 번째 행은 #00F, 네 번째 행은 #F00 등이 됩니다.
이와 같은 것:
UPDATE table_name SET color = oneOf(['#F00', '#0F0', '#00F']);
어떻게 달성할 것인가요?
MariaDB 버전 지원 창 기능이 있으면 주문 열을 사용할 수 있습니다(내 샘플 코드에서).ID
순서대로 업데이트 순서를 나타내는 열)
사용할 경우CASE WHEN
표현 &MOD
업데이트 로직을 판단하기 위한 함수
UPDATE
table_name AS t
INNER JOIN
(
SELECT Id,
row_number() OVER (ORDER BY Id) AS rn
FROM table_name
) AS sub
ON t.Id = sub.Id
SET color = (CASE WHEN MOD(rn,3) = 1 THEN '#F00'
WHEN MOD(rn,3) = 2 THEN '#0F0'
ELSE '#00F' END)
언급URL : https://stackoverflow.com/questions/71521599/update-column-with-values-of-array-sequentially
반응형
'programing' 카테고리의 다른 글
인스턴스 상태 저장을 사용하여 활동 상태를 저장하려면 어떻게 해야 합니까? (0) | 2023.06.05 |
---|---|
Firebase web user.reauthenticate에 필요한 "credential" 개체를 만드는 방법자격 증명() 메서드를 사용하시겠습니까? (0) | 2023.06.05 |
목록의 각 요소에 정수를 추가하는 방법은 무엇입니까? (0) | 2023.06.05 |
NodeJS - "소켓 전화 끊기"가 실제로 무엇을 의미합니까? (0) | 2023.06.05 |
선 끝에 레이블 표시 (0) | 2023.06.05 |