PHP/MySQL에서 삽입된 행의 ID 검색
MySQL 데이터베이스 작업 시 일반적인 작업 중 하나는 행을 삽입한 후 해당 행을 검색하는 것입니다. 자동 생성된 ID입니다. 이 프로세스에는 두 개의 서로 다른 쿼리가 포함되며, 잠재적으로 행 삽입과 ID 가져오기 사이에 시간 차이가 발생하여 경합 상태가 발생할 수 있습니다.
다행히도 PHP는 이 문제에 대한 간단한 솔루션인 mysqli_insert_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);
mysqli_insert_id()는 가장 최근의 INSERT 문에서 생성된 ID를 직접 검색하므로 추가 쿼리가 필요하지 않습니다. 이 접근 방식은 검색된 ID가 방금 삽입된 행과 일치함을 보장합니다.
대체 방법은 단일 쿼리 내에서 MySQL의 LAST_INSERT_ID() 함수를 활용하는 것입니다. 여러 개의 INSERT 문을 결합하면 여러 테이블을 동시에 업데이트하고 개별 ID 검색의 번거로움을 피할 수 있습니다.
mysqli_query($link, "INSERT INTO my_user_table ...; INSERT INTO my_other_table (`user_id`) VALUES (LAST_INSERT_ID())");
각 MySQL 연결이 자체 ID 시퀀스를 유지하여 서로 간의 잠재적인 충돌을 방지한다는 점에 유의하는 것이 중요합니다. 동시 연결.
위 내용은 PHP/MySQL에서 INSERT 후 자동 생성된 ID를 효율적으로 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!