Сценарий таков: у меня есть две таблицы, мы можем назвать их table_a и table_b. у одного 4 столбца, а у другого 3, вот как они выглядят
table_a table_b
+------+------+-----+----+ +-----+-----+-----+
| a_id | name | age |sex | |b_id |a_id |type |
+------+------+-----+----+ +-----+-----+-----+
У меня есть запрос, который вставляет данные в две таблицы одновременно
$query = "INSERT INTO table_a SET name=:name, age=:age, sex=:sex; INSERT INTO table_b SET type=:type";
$stmt = $this->conn->prepare($query);
$this->name = $this->name;
$this->name = $this->age;
$this->name = $this->sex;
$this->name = $this->type;
$stmt->bindParam(':name', $this->name);
$stmt->bindParam(':age', $this->age);
$stmt->bindParam(':sex', $this->sex);
$stmt->bindParam(':type', $this->type);
if($stmt->execute()){
return $this->conn->lastInsertId();
}else{
return -1;}
a_id для table_a - это автоинкремент, аналогичный b_id в table_b, имя, возраст, пол, тип были вставлены пользователем с помощью
$_POST
Теперь, мой запрос, есть ли способ, которым я могу автоматически поставить значение a_id из table_a в a_id в table_b? LastInsertId работает правильно, хотя я не уверен, как я могу поместить его в другую таблицу. Я также думаю о другом решении, которое назначает значение a_id, используя это
a_id=:LAST_INSERT_ID()
Но я не уверен, как это сделать или возможно ли это.