문서의 이전 판입니다!
SELECT LAST_INSERT_ID();
AUTO_INCREMENT
컬럼의 값이 변경되면 그 값을 리턴해주는 역할을 한다.AUTO_INCREMENT
컬럼에 0
과 null
이외의 값을 명시적으로 넣으면 last_insert_id()
는 변경되지 않는다. 따라서 AUTO_INCREMENT
PK에 값을 직접 넣을 때는 last_insert_id()를 믿어서는 안된다.INSERT INTO t VALUES (NULL, 'Mary'), (NULL, 'Jane'), (NULL, 'Lisa'); SELECT last_insert_id(); --> 'Mary' 가 속한 row의 PK가 리턴된다.
count 함수는 null이면 세지 않고 null 이외의 값이면 1씩 더하는 특징이 있다. if 문과 조합하여 조건적 count를 할 수 있다.
SELECT name, COUNT(1) AS total, COUNT(IF(age < 20, 1, NULL)) AS YOUNG FROM users GROUP BY name