Ostatni włożony identyfikator PDO MySQL
Mam tabelę na MySQL z kluczem podstawowym, wstawiłem do tej tabeli i chcę wznowić wstawiony identyfikator ostatniego wiersza, wiem, że muszę użyćLAST_INSERT_ID
ale moje pytanie po użyciu tej instrukcji do wstawienia wartości do innej tabeli, która nie ma klucza podstawowego, czy mogę użyć jej ponownie, aby uzyskać dokładny identyfikator pierwszego wstawionego?
$ php pdo #
include_once 'type_model.php';
$t = new Type_Model();
$typeID = $t->getTypeID($type);
include_once 'informationObject_model.php';
$i = new InformationObject_Model();
$answerIoID = $i->getIOID($ioAnswer);
$query = "INSERT INTO question (info, text, answer, answerIoID, firstChoice, secondChoice, thirdChoice,
firstHint, secondHint, typeID) VALUES (:info, :text, :answer, :answerIoID,
:firstChoice, :secondChoice, :thirdChoice, :firstHint, :secondHint, :typeID)";
$sth = $this->db->prepare($query);
$sth->execute(array(
':info' => $info,
':text' => $text,
':answer' => $answer,
':answerIoID' => $answerIoID,
':firstChoice' => $choices[0],
':secondChoice' => $choices[1],
':thirdChoice' => $choices[2],
':firstHint' => $hints[0],
':secondHint' => $hints[1],
':typeID' => $typeID
));
if ($about == "Place") {
include_once 'place_model.php';
$p = new Place_Model();
$placeID = $p->getPlaceID($place);
$query = "INSERT INTO `question-place` (questionID, placeID) VALUES
(LAST_INSERT_ID() ,:placeID )";
$sth = $this->db->prepare($query);
$sth->execute(array(
':placeID' => $placeID
));
}
a teraz, jeśliabout==place
czy mogę to napisać?
$query = "INSERT INTO `question-io` (questionID, io) VALUES
(LAST_INSERT_ID() ,:io )";
$sth = $this->db->prepare($query);
$sth->execute(array(
':io' => $io
));
Nie próbowałem tego, ponieważ nie mogę tego spróbować, dopóki nie wypełnię wszystkich moich tabel i nie mogę wypełnić wszystkich moich tabel bez znajomości ID :)