What best practices should be followed when inserting data into multiple tables using lastInsertId() in PHP?

When inserting data into multiple tables using lastInsertId() in PHP, it is important to ensure that the last inserted ID is retrieved immediately after each insert statement to avoid any potential conflicts or errors when inserting data into subsequent tables. This can be achieved by storing the last inserted ID in a variable after each insert statement and using that variable to insert data into the next table.

// Insert data into first table
$stmt = $pdo->prepare("INSERT INTO table1 (column1) VALUES (:value)");
$stmt->bindParam(':value', $value);
$stmt->execute();
$lastInsertedId1 = $pdo->lastInsertId();

// Insert data into second table using last inserted ID from first table
$stmt = $pdo->prepare("INSERT INTO table2 (column1, column2) VALUES (:value1, :value2)");
$stmt->bindParam(':value1', $value1);
$stmt->bindParam(':value2', $lastInsertedId1);
$stmt->execute();

// Insert data into third table using last inserted ID from second table
$stmt = $pdo->prepare("INSERT INTO table3 (column1, column2) VALUES (:value1, :value2)");
$stmt->bindParam(':value1', $value1);
$stmt->bindParam(':value2', $lastInsertedId2);
$stmt->execute();