Как получить текущее значение AUTO_INCREMENT для таблицы в MySQL?
mysql
auto-increment
bparise
источник
источник
Ответы:
Вы можете получить все данные таблицы, используя этот запрос:
Вы можете получить именно эту информацию, используя этот запрос:
источник
DATABASE()
вместо явного имени базы данных.SELECT MAX(id) FROM table_name
?Я считаю, что вы ищете функцию MySQL LAST_INSERT_ID () . Если в командной строке просто запустите следующее:
Вы также можете получить это значение с помощью запроса SELECT:
источник
Если вы просто хотите узнать число, а не получить его в запросе, вы можете использовать:
Вы должны увидеть auto_increment внизу
источник
1
.Даже если ответ methai будет правильным, если вы вручную запустите запрос, проблема возникает, когда 2 одновременных транзакции / соединения фактически выполняют этот запрос во время выполнения в производстве (например).
Только что попробовал вручную в MySQL верстак с 2 открытыми одновременно соединениями:
Транзакция 1:
Транзакция 2:
Вставка транзакции 1 в порядке: вставка транзакции 2 завершается с ошибкой: Код ошибки: 1062. Дублирующая запись «21» для ключа «ПЕРВИЧНЫЙ».
Хорошим решением будет ответ jvdub , потому что для каждой транзакции / соединения 2 вставки будут:
Транзакция 1:
Транзакция 2:
Но мы должны выполнить last_insert_id () сразу после вставки! И мы можем повторно использовать этот идентификатор для вставки в другие таблицы, где ожидается внешний ключ!
Кроме того, мы не можем выполнить 2 запроса следующим образом:
потому что мы на самом деле заинтересованы, чтобы захватить / повторно использовать этот идентификатор в другой таблице или вернуть!
источник
last_insert_id()
AUTO_INCREMENT
значение.Пример исполняемого кода mysqli:
источник
Если столбец автоинкрементирован на сервере sql, то для просмотра текущего автоинкрементного значения, и если вы хотите изменить это значение для этого столбца, используйте следующий запрос.
источник
Запрос для проверки процентного «использования» AUTO_INCREMENT для всех таблиц одной данной схемы (кроме столбцов с типом bigint unsigned ):
источник
Я искал то же самое и в итоге создал статический метод внутри класса Helper (в моем случае я назвал его App \ Helpers \ Database).
Метод
Чтобы вызвать метод и получить MySql AUTO_INCREMENT, просто используйте следующее:
Надеюсь, поможет.
источник