MySQL에서 특정 ID의 마지막 항목(레코드)을 업데이트하려면 ORDER BY DESC와 LIMIT 1을 함께 사용하면 됩니다. 이 방법을 활용하면 테이블에서 가장 최근에 추가된 행, 즉 마지막 레코드를 손쉽게 수정할 수 있습니다.
예제 테이블 생성하기
먼저 실습에 사용할 테이블을 생성해 보겠습니다.
mysql> create table DemoTable824(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
ClientName varchar(100),
ClientAge int
);
Query OK, 0 rows affected (0.56 sec)
샘플 데이터 삽입하기
INSERT 명령을 사용해 테이블에 몇 개의 레코드를 추가합니다.
mysql> insert into DemoTable824(ClientName,ClientAge) values('Chris',23);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable824(ClientName,ClientAge) values('Robert',26);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable824(ClientName,ClientAge) values('Bob',24);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable824(ClientName,ClientAge) values('David',27);
Query OK, 1 row affected (0.18 sec)저장된 전체 레코드 확인하기
SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.
mysql> select *from DemoTable824;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+----+------------+-----------+
| Id | ClientName | ClientAge |
+----+------------+-----------+
| 1 | Chris | 23 |
| 2 | Robert | 26 |
| 3 | Bob | 24 |
| 4 | David | 27 |
+----+------------+-----------+
4 rows in set (0.00 sec)
마지막 항목 업데이트하기
다음은 MySQL에서 특정 ID의 마지막 항목을 업데이트하는 쿼리입니다. ORDER BY Id DESC LIMIT 1을 사용하여 Id가 가장 큰, 즉 가장 나중에 삽입된 레코드 하나만 수정합니다.
mysql> update DemoTable824 set ClientName='Adam',ClientAge=28 order by Id DESC limit 1;
Query OK, 1 row affected (0.20 sec)
Rows matched: 1 Changed: 1 Warnings: 0
업데이트 결과 검증하기
테이블의 레코드를 다시 한번 조회하여 변경 사항을 확인해 보겠습니다.
mysql> select *from DemoTable824;
실행 결과는 다음과 같습니다.
+----+------------+-----------+
| Id | ClientName | ClientAge |
+----+------------+-----------+
| 1 | Chris | 23 |
| 2 | Robert | 26 |
| 3 | Bob | 24 |
| 4 | Adam | 28 |
+----+------------+-----------+
4 rows in set (0.00 sec)
출력 결과를 보면 Id가 4인 마지막 레코드의 ClientName이 'David'에서 'Adam'으로, ClientAge는 27에서 28로 성공적으로 변경된 것을 확인할 수 있습니다.
핵심 정리
MySQL에서 마지막 레코드를 업데이트하는 방법을 정리하면 다음과 같습니다.
- ORDER BY 컬럼명 DESC: 특정 컬럼 기준으로 내림차순 정렬하여 가장 최근(마지막) 레코드를 앞쪽에 배치합니다.
- LIMIT 1: 정렬된 결과 중 첫 번째 행 하나만 대상으로 지정합니다.
- 두 절을 UPDATE 문과 조합하면 WHERE 절 없이도 마지막 항목만 정확하게 수정할 수 있습니다.
이 방식은 자동 증가(AUTO_INCREMENT) 기본키가 있는 테이블에서 가장 유용하며, 로그성 데이터나 최근 상태만 갱신해야 하는 경우에 널리 활용됩니다.