집 >데이터 베이스 >MySQL 튜토리얼 >다중 테이블 연결을 위해 MySQL에서 마지막으로 삽입된 행 ID를 안정적으로 검색하는 방법은 무엇입니까?
마지막으로 삽입된 행을 검색하여 다른 테이블과 연결
여러 테이블에 데이터를 삽입할 때 삽입된 레코드를 다른 테이블과 연결해야 하는 경우가 많습니다. 해당 ID를 사용하는 테이블입니다. 이러한 경우 마지막으로 삽입된 행의 ID를 검색하는 것이 중요합니다. 그러나 $mysqli->insert_id를 직접 사용하면 잘못된 결과가 발생할 수 있습니다.
해결책:
마지막으로 삽입된 ID를 올바르게 검색하려면 mysqli_insert_id를 사용해야 합니다. () 기능. 이 함수는 현재 데이터베이스 연결에 삽입된 마지막 행의 ID를 제공합니다. 아래 수정된 코드는 그 사용법을 보여줍니다.
<br>$stmt = $mysqli->prepare("<br> INSERT INTO table1 (사용자 이름, 이름, 성, 이미지) <br> SELECT ?,?,?,image FROM table2 t2 WHERE 사용자 이름 = ?<br>");<br>$stmt->bind_param('ssss', $username, $fname, $lname, $username);<br>$stmt->execute();</p> <p>$last_id = mysqli_insert_id($conn); // 마지막으로 삽입된 ID를 검색합니다</p> <p>// 검색된 ID를 사용하여 table1의 이미지 열을 업데이트합니다<br>$stmt2 = $mysqli->prepare("<br> UPDATE table1 SET image = ? WHERE id = ?<br>");<br>$stmt2->bind_param('si', $image, $last_id);<br>$stmt2->execute();<br>
참고: table2의 ID 필드에 삽입된 각 행에 대해 고유한 ID 값을 생성하는 AUTO_INCREMENT 속성.
위 내용은 다중 테이블 연결을 위해 MySQL에서 마지막으로 삽입된 행 ID를 안정적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!