자동 증가 ID 필드가 있는 MySQL 테이블에 행을 삽입할 때, 후속 작업을 위해 새로 생성된 ID입니다.
ID를 얻는 한 가지 방법은 삽입된 정보와 일치하는 행을 데이터베이스에 쿼리하는 것입니다. 그러나 이 방법은 쿼리가 실행되기 전에 다른 행이 삽입될 수 있는 경쟁 조건을 도입하여 부정확한 결과를 초래합니다.
신뢰할 수 있는 해결책은 MySQL의 LAST_INSERT_ID( ) 기능. PHP의 mysqli_insert_id() 메소드는 현재 연결에 대해 마지막으로 생성된 ID를 반환합니다.
$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db'); mysqli_query($link, "INSERT INTO mytable (1, 2, 3, 'blah')"); $id = mysqli_insert_id($link);
대체 접근 방식은 단일 작업으로 여러 쿼리를 실행하는 것입니다. MySQL의 LAST_INSERT_ID() 메소드를 활용합니다. 이렇게 하면 여러 테이블이 포함된 경우에도 ID가 올바르게 할당됩니다.
mysqli_query($link, "INSERT INTO my_user_table ...; INSERT INTO my_other_table (`user_id`) VALUES (LAST_INSERT_ID())");
이 방법은 경쟁 조건에 대해 걱정할 필요가 없으며 삽입된 행의 ID를 검색하는 안정적인 방법을 제공합니다.
위 내용은 PHP/MySQL에서 새로 삽입된 행의 ID를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!