MySql InnoDb автоинкрементная предварительная выборка значений - PullRequest
0 голосов
/ 12 октября 2011

Как я могу получить будущие ключи от Mysql InnoDb?

Oracle и Postgres имеют концепцию последовательностей и функцию nextval.Mysql кажется немного другим.

Есть ли какой-нибудь простой оператор sql для извлечения, может быть, 1000 будущих ключей для определенного поля автоинкремента, и убедитесь, что никакая другая транзакция не может получить эти значения одновременно или любое другоевремя в будущем?

1 Ответ

0 голосов
/ 12 октября 2011

Для таблицы InnoDb вы можете сделать это:

  • Начать транзакцию.
  • Вставить 1000 записей.
  • Подтвердить транзакцию.

В Oracle и Postgres есть концепция последовательностей и функция nextval.Mysql кажется немного другим.

В MySQL вы можете сделать это, чтобы найти следующее значение -

SELECT MAX(id) + 1 FROM table_name;

Но нет гарантии, что AUTO_INCREMENT работает втак же.

...