2012-07-06 2 views
2

사용자가 "Add New"링크를 클릭하고이 값이 테이블 AUTO_INCREMENT 기본 열에서 나온 을 클릭 할 때 양식에 자동 증가 값 표시 요구 사항이 있습니다.양식에 자동 증분 ID를 표시하는 방법은 무엇입니까?

첫 번째 아이디어는 최대 값에서 최대 레코드와 1을 검색하는 것이지만 여러 사용자가 기록하지 못했기 때문에 그걸로 가지 않습니다.

사용자가 "Add New"링크를 클릭하면 타임 스탬프가있는 새 레코드를 삽입하고이 레코드 ID를 가져 와서 양식에 표시하고 사용자가 취소 버튼에 새 태그를 추가하려는 경우 데이터베이스에서이 ID를 제거합니다.

이 작업을 수행하는 올바른 방법 일 수 있습니다. 또는 다른 방법으로 MySQL이 제공되는지 여부를 알 수 없습니다. 어떤 옵션을 제안하거나 주어진 옵션으로 진행할 수 있습니다.

감사

+1

정직하게 말하자면, 이것은 이상한 요구 사항입니다 ... 주위를 둘러 볼 수있는 기회는 무엇입니까? DB에 아직 추가되지 않은 레코드의 ID를 '예약'할 수있는 방법이 있는지 확신하지 못합니다. –

답변

2

mysql_insert_id() - 그럼 그냥 (분야를 설정하지 않고) 쿼리를 실행 here

을보고, 그것을 후 mysql_insert_id()을 넣어, 그것은 당신에게 당신이 삽입 한 자동 증가 ID를 줄 것이다 에.

+0

나는 3 명의 사용자가 동일한 시간에 동일한 링크를 사용하고 기록했다는 의심의 여지가있다. 그렇다면 mysql_insert_id()의 동작은 무엇인가? –

+0

MySQL 데이터베이스에 '삽입'하면 ** 방금 수행 한 ** 쿼리에 사용한 삽입 ID가 저장됩니다. 스크립트가 똑같은 초에 천 번 호출되는 경우 중요하지 않습니다. 바로 전에 호출 된 쿼리 용입니다. mysql_insert_id()를 사용하여이 값을 가져온다. – jared

+0

@sam - cfquery와 함께 'INSERT'를 실행하고'result_name.GENERATED_KEY'를 사용하여 새 레코드의 ID를 검색하는 것과 같은 개념입니다. 그러나 요구 사항이 이상하게 보입니다. 사용자가 데이터베이스 ID 값을 "보아야"하는 이유는 무엇입니까? – Leigh

관련 문제