MySQL 테이블에 행을 삽입하려면 새로 생성된 'id'를 검색해야 하는 경우가 많습니다. 삽입된 행에 대해 일반적으로 삽입된 데이터와 일치하는 행을 가져오기 위한 후속 쿼리가 필요하지만 이 방법을 사용하면 다양한 'id' 값을 가진 중복 행이 발생할 가능성이 있습니다.
보다 효율적인 접근 방식은 MySQL의 자동 증가 기능을 활용하는 것입니다. 기능 및 PHP mysqli_insert_id() 함수. 이 기능을 사용하면 현재 연결 내에서 마지막으로 삽입된 행의 ID를 검색할 수 있습니다.
<?php $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); ?>
이 접근 방식은 경쟁 조건의 위험을 제거하고 새로 삽입된 행의 'id'를 얻는 안정적인 방법을 제공합니다.
또 다른 기술은 MySQL의 LAST_INSERT_ID()를 활용하여 단일 트랜잭션에서 두 개의 쿼리를 실행하는 것입니다. 방법:
<?php mysqli_query($link, "INSERT INTO my_user_table ...; INSERT INTO my_other_table (`user_id`) VALUES (LAST_INSERT_ID())"); ?>
이 방법은 단일 트랜잭션 내에서 두 테이블을 모두 수정하여 영향을 받는 테이블 전체에서 일관된 데이터를 보장합니다.
위 내용은 PHP/MySQL에서 INSERT 후 자동 증가된 ID를 효율적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!