Для метода PDO::lastInsertId(), что они подразумевают под аргументом «имя последовательности»? (PHP — PDO)

#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?