MySQL PDO LastInsertID после вставки с триггером «до» возвращает неправильное значение - PullRequest
1 голос
/ 07 января 2012

У меня есть таблица клиентов с полями ID (auto_inc), name, ... и customer_code.В этой таблице также есть триггер «до», выберите один код клиента из другой таблицы и установите поле customer_code перед вставкой новой записи в эту таблицу.Работает отлично.

Проблема в том, что когда я извлекаю lastInsertID (), он всегда возвращает 1!

Я использую PDO и PHP.

Спасибо за любую помощь!

1 Ответ

1 голос
/ 07 января 2012

Какую версию MySQL вы используете?Начиная с 5.0.12, последний идентификатор вставки не должен перезаписываться триггером.Но до этой версии триггер мог изменить значение, и последующие запросы увидят неправильное значение.

См. http://dev.mysql.com/doc/refman/5.0/en/stored-routines-last-insert-id.html

...