SW/MySQL

MySQL : 가장 높은 ID 값으로 로우 데이터 업데이트 하는 방법 : 예제

얇은생각 2020. 3. 8. 19:30
반응형

MySQL : 가장 높은 ID 값으로 로우 데이터 업데이트 하는 방법 : 예제

 

최근에 테이블의 마지막 삽입 행을 업데이트해야 했지만 어쨌든 테이블에서 가장 높은 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;
반응형