나는 사용자 계정이있는 웹 사이트를 구축하는 데 익숙하기 때문에 내부적으로 사용자 ID로 해당 사용자를 식별하는 동안 사용자 ID를 자동으로 증가시킨 다음 로그인 할 수 있습니다. 이 경우에해야 할 일은 조금 다릅니다. 나는 익명으로 사람들로부터 몇 줄의 데이터를 모아야하고 그 줄들을 묶어서 어떤 데이터 행이 어떤 사용자에 속하는지 쉽게 알아낼 수 있어야한다.중복 ID를 보장하면서 여러 테이블을 업데이트하려면 어떻게해야합니까?
어려운 점은 데이터 행을 묶는 ID를 생성하는 데 어려움이 있습니다. 나의 첫 번째 생각은 존재하는 가장 높은 사용자 ID에 대해 데이터베이스를 폴링하고 사용자 ID +1로 데이터베이스에 쓰는 것입니다. 그러나 두 제출이 둘 중 하나가 쓰기 전에 데이터베이스를 폴링하는 경우 실패합니다. 각 사용자는 동일한 사용자 ID를 공유합니다.
또 하나의 생각은 자동 증가로 설정된 별도의 사용자 ID 테이블을 작성한 다음 단순히 새 행을 생성 한 다음 작성된 마지막 행의 ID에 대해 해당 테이블을 폴링하는 것입니다. 위의 이유와 동일한 이유로 실패합니다. 두 개의 제출이 최신 사용자 ID로 폴링하기 전에 행을 작성하면 ID가 공유됩니다.
아이디어가 있으십니까? 나는 명백한 것이 빠져 있다는 인상을 받는다.
매우 흥미롭고 편리합니다! 이것은 내가 필요한 것입니다. 함수가 해당 데이터를 가져 오기 위해 어떤 종류의 SQL 쿼리를 사용하고 있습니까? 아니면 이전 삽입 쿼리와 함께 반환됩니까? 설명서가 명시되어 있지 않습니다. –
그냥이 MySQL 함수를 호출하는 것 같습니다 : http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id –
두 번째를 잡아 ... wouldn ' 내 다른 두 가지 아이디어와 동일한 문제가 발생합니까? 다른 사용자가 첫 번째 사용자의 게시물과 첫 번째 "mysql_insert_id()"사이에 게시되면 ID가 공유됩니다. ID가 원래 삽입 쿼리와 함께 반환되지 않는 한이 함수는이 ID를 참조합니다. –