2012-07-21 5 views
0

테이블에서 마지막으로 추가 된 값을 선택하는 mysql 문을 쓰려고합니다. 테이블의 id 열은 자동 증가 값이므로 가장 쉬운 방법은 가장 높은 ID 값을 가진 행을 선택하는 것입니다.가장 큰 id 값을 가진 테이블 행 선택

누구든지이 작업을 수행 할 수 있는지 궁금합니다. 이 같은

뭔가 :

는 mysql_query ("SELECT * ID = 최대 (ID)를 테이블에서"

답변

2

MAX는이

시도처럼 사용할 수 없습니다 집계/그룹 기능입니다 이

SELECT * 
FROM blog 
ORDER BY id DESC LIMIT 1; 

또는

SELECT * 
FROM blog 
where id=LAST_INSERT_ID(); 
,

또는

SELECT * 
FROM blog 
WHERE (id = (SELECT MAX(id) FROM blog LIMIT 1)) 
+0

응답에 감사드립니다. 나는 그것을 시도 할 것이다. 왜 내 쿼리가 작동하지 않는지 당신이 알고있는 이유가 있습니까? 나는 mySQL에 MAX 함수가 있다는 것을 알고있다 ...? – AnchovyLegend

+0

MAX는 그룹 함수입니다. 어떤 이유로이 –

1

당신은 마지막으로 삽입 id.Hence을 찾기 위해 LAST_INSERT_ID()을 사용할 수, 쿼리는 다음과 같이 할 수있다 :

SELECT * 
FROM blog 
where id=LAST_INSERT_ID(); 

가 쿼리 작업을하려면 다음과 같이해야 할 :

쿼리 실행 쓰기 후
SELECT * 
FROM blog 
WHERE id=(
    SELECT max(id) FROM blog 
    ) 
+0

을 사용할 수 없지만, 지금은 1 행만 있습니다.하지만 여전히 반환해야하며 아무것도 반환하지 않습니다. 어떤 것도 얻지 못합니다. PHP 행에 액세스하려고 할 때 오류가 발생합니다. [ 'id'] – AnchovyLegend

+0

업데이트 된 답변을 확인하십시오. –

0

:

$id = mysql_insert_id(); 

마지막으로 삽입 한 레코드의 ID를 가져옵니다.

관련 문제