#php #pdo #lastinsertid
#php #pdo #lastinsertid
Вопрос:
Я пытаюсь использовать метод lastInsertId PDO, но в документации указано, что для некоторых СУБД мне нужно имя последовательности в качестве аргумента. Только будучи знакомым с mysql, я не совсем уверен, что такое имя последовательности. Имеют ли они в виду имя столбца, который содержит идентификатор автоматического увеличения? Вот документация для метода:
http://php.net/manual/en/pdo.lastinsertid.php
Любая информация об этом была бы с благодарностью принята. Спасибо.
Ответ №1:
Вместо использования первичного ключа auto_increment
(т. Е. MySQL), вы можете создать именованную последовательность следующим образом:
CREATE SEQUENCE a_sequence INCREMENT BY 5 START WITH 30
Итак, у вас должен быть столбец с этими значениями: 30, 35, 40 … и т.д. Метод lastInsertId должен получать последнее значение последовательности.
Комментарии:
1. Понятно, итак, последовательность и столбец, в котором используется последовательность, — это две разные вещи. Спасибо!
2. Когда вы используете тип данных «serial» и различные другие первичные ключи в postgres, они также автоматически получают последовательности, созданные для них.
3.
CREATE SEQUENCE
в Mysql?