저는 PHP/MySql을 사용하고 있습니다.행을 삽입 할 때 A_I의 다음 순서를 반환 하시겠습니까?
나는 두 개의 테이블 (가설)으로는 다음이있는 경우 :
id
name
및
parent_id
action
그리고 첫 번째 테이블에서 ID를 내가 두 테이블에 데이터를 삽입하고자한다면, AUTO_INCREMENT로 설정 가능한 한 적은 수의 쿼리로 데이터베이스를 재구성하지 않고 어떻게 할 수 있습니까? 두 번째 테이블의 부모 ID로 삽입 할 테이블에 삽입 된 이름에 다음 A_I 값이 필요합니다.
아마도 좋지 않은 예이지만 해결하려고하는 것이 문제입니다. 잠시 후 다음을해야합니다.
<?php
$mysqli->query("INSERT INTO table_1 (name) VALUES ('Bob');
$names = $mysqli->query("SELECT * FROM table_1 WHERE name = 'Bob'");
while($name = $names->fetch_assoc()) {
$mysqli->query("INSERT INTO table_2 (parent_id, action) VALUES ('".$name['id']."', 'run')");
}
?>
분명히이 방법은 동일한 이름을 가진 사람이있을 경우 중단됩니다.
감사합니다. 당신은 last_insert_id()
내가 그것을 이런 식으로 할 것이다 PHP 함수 $mysqli->insert_id
또는 MySQL의 기능을 사용할 수 있습니다
입니다 왜 당신은을위한 SP를 시도 해달라고 이? –
http://www.php.net/manual/en/mysqli.insert-id.php –
@PsyCoder - 죄송합니다. SP의 의미를 모르겠습니다. – Anonymous