Siempre escucho que usar "lastInsertId" (o mysql_insert_id() si no está usando PDO) es malo. En el caso de los desencadenadores, obviamente lo es, porque podría devolver algo que no es la última identificación que creó su INSERT.Alternativa a "PDO :: lastInsertId"/"mysql_insert_id"
$DB->exec("INSERT INTO example (column1) VALUES ('test')");
// Usually returns your newly created ID.
// However when a TRIGGER inserts into another table with auto-increment:
// -> Returns newly created ID of trigger's INSERT
$id = $DB->lastInsertId();
¿Cuál es la alternativa?
+1 .Le escribí mi respuesta mientras escribía la suya –
Parece bastante interesante. ¿Qué efecto tiene esta técnica en el rendimiento? – BlaM
Sí, pero ¿qué haces si estás atascado con PDO? – Elijah