Я использую PHP/MySql.Возвращает следующую последовательность A_I при вставке строки?
Если у меня есть две таблицы (гипотетически) следующим образом:
id
name
и
parent_id
action
и удостоверение личности в первой таблице устанавливается на AUTO_INCREMENT, если бы я хотел, чтобы вставить данные в обеих таблицах как можно меньше запросов, без реструктуризации базы данных, как я могу это сделать? Мне нужно следующее значение 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')");
}
?>
Но, очевидно, этот метод ломается, если есть люди с тем же именем.
Спасибо.
почему бы вам не попробовать SP для это? –
http://www.php.net/manual/en/mysqli.insert-id.php –
@PsyCoder - Извините, я не знаю, что означает SP. – Anonymous