2009-11-27 4 views
3

MySQL 클라이언트 API를 사용하여 db 클라이언트 응용 프로그램을 구축하고 있으며, INSERT 문에서 마지막으로 autoincremented 된 값을 가져와야하므로 mysql_insert_id가 수행됩니다.mysql_insert_id는 안전한 스레드인가?

그러나이 클라이언트는 다중 스레드와 같은 코드의 조각 :

는 mysql_query (CONN, QUERY_STRING); 값 = mysql_insert_id (conn);

무엇이 반환 될지 모르겠지만이 쿼리는 자동 생성 된 ID 또는 다른 것입니다. 모든 단서?

미리 감사드립니다.

답변

3

documentation에 따르면 mysql_insert_id는 현재 연결에 마지막으로 성공한 삽입의 ID를 에 반환합니다.

따라서 여러 스레드에서 동일한 연결을 사용하면 스레드로부터 안전하지 않습니다.

+0

작전, 그래서 내가 망쳐, 거기에 자물쇠를 설정할 수 없습니다 : / –