>데이터 베이스 >MySQL 튜토리얼 >다중 테이블 연결을 위해 MySQL에서 마지막으로 삽입된 행 ID를 안정적으로 검색하는 방법은 무엇입니까?

다중 테이블 연결을 위해 MySQL에서 마지막으로 삽입된 행 ID를 안정적으로 검색하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-17 04:29:25828검색

How to Reliably Retrieve the Last Inserted Row ID in MySQL for Multi-Table Associations?

마지막으로 삽입된 행을 검색하여 다른 테이블과 연결

여러 테이블에 데이터를 삽입할 때 삽입된 레코드를 다른 테이블과 연결해야 하는 경우가 많습니다. 해당 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.