Я всегда слышу, что использование «lastInsertId» (или mysql_insert_id(), если вы не используете PDO) является злым. В случае триггеров это очевидно, потому что он может вернуть то, что полностью не является последним идентификатором, созданным вашим INSERT.Альтернатива «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();
Какая альтернатива?
+1 .I написал мой ответ, как вы писали свои – 2008-11-14 14:06:00
Выглядит довольно интересно. Какое влияние оказывает этот метод на производительность? – BlaM 2008-11-14 15:47:39