eurobax
Новичок
В mySQL есть auto_increment для числовых полей. Насколько знаю, только для числовых.
Мне нужно сделать автонумерацию, но текстового поля, например:
AA00000020
AA00000021
AA00000022
...
Т.е. есть префикс и фиксированная ширина номера.
(поправка: фиксированная ширина имеется в виду, вся длина номера, с учетом букв и цифр)
На данный момент решено в лоб, в самом скрипте PHP: поиск максимального значения, формирование следующего номера записи и собственно запись.
Ясно, что может произойти коллизия, и номера будут дублироваться.
Что можете предложить в качестве решения? Таких таблиц могут быть десятки, если делать хранимые функции, то придется ли их делать для каждой таблицы?
Мне нужно сделать автонумерацию, но текстового поля, например:
AA00000020
AA00000021
AA00000022
...
Т.е. есть префикс и фиксированная ширина номера.
(поправка: фиксированная ширина имеется в виду, вся длина номера, с учетом букв и цифр)
На данный момент решено в лоб, в самом скрипте PHP: поиск максимального значения, формирование следующего номера записи и собственно запись.
Ясно, что может произойти коллизия, и номера будут дублироваться.
Что можете предложить в качестве решения? Таких таблиц могут быть десятки, если делать хранимые функции, то придется ли их делать для каждой таблицы?