반응형
최근에 테이블의 마지막 삽입 행을 업데이트해야 했지만 어쨌든 테이블에서 가장 높은 ID가 무엇인지 알 수 없었습니다. max () 함수를 사용하여 테이블에서 가장 높은 ID를 선택하면 쉽게 할 수 있습니다.
SELECT MAX(id) FROM table;
그런 다음 UPDATE 쿼리에서이 쿼리의 결과를 사용하여 ID가 가장 높은 레코드를 편집 할 수 있습니다. 그러나 이것은 매우 쉬운 쿼리이므로 UPDATE에서 중첩 된 선택 쿼리를 사용하여 하나의 쿼리 에서이 작업을 수행 할 수 있어야합니다.
UPDATE table SET name='test_name' WHERE id = (SELECT max(id) FROM table)
그러나 이것의 문제점은 MAX () 함수가 중첩된 선택내에서 작동하지 않으므로 이를 수행하는 다른 방법을 찾아야한다는 것입니다. UPDATE 쿼리에서 ORDER BY와 LIMIT를 사용할 수 있습니다. 따라서 UPDATE 쿼리에서 이러한 조합을 사용하여 ID에서 하위 순서를 수행하여 가장 높은 ID로만 레코드를 업데이트 할 수 있습니다. 레코드 개수를 1로 제한합니다.
UPDATE table SET name='test_name' ORDER BY id DESC LIMIT 1;
반응형
'SW > MySQL' 카테고리의 다른 글
MySQL : 커맨드라인으로 데이터베이스 및 사용자 관리 방법, 예제 (0) | 2020.10.18 |
---|---|
MySQL : 루트 암호 재설정 방법, 명령어 (0) | 2020.09.26 |
MySQL : Group by : 각 그룹에서 최신 데이터 가져오기 (0) | 2020.03.07 |
MySQL : IN 연산자 : 순서 유지 : 방법, 예제, 사용법 (0) | 2020.03.06 |
MySQL : 제약조건 : 개념, 예제, 종류 (0) | 2020.02.04 |