Есть БД типа:
группа
id name code ...
1 1b2 111
студент
id group_id name contract_number
1 1 Иванов ?
и вот нам при создании студента нужно формировать ему уникальный номер договора contract_number.
при этом в номере договора такие части присутствуют:
- может быть какой нибудь префикс, даже не число, поэтому числовые операции отпадают
- должен быть code от группы
- дату можно в виде 090621
Как бы лучше такое организовать, чтобы уникальные номера договоров получались.
В течении дня вести суффикс, типа
111
090621001
111
090621002
как то не сильно интересно выискивать все такие номера у которых внутри
contract_number like '__090621%'
, это ж в php придется все перебирать, не в Mysql.
Также отдельную таблицу держать и оттуда эти сгенерированные числа брать не получится, т.к. нумерация все таки от группы сильно зависит.
Может есть какие еще удачные подходы к решению такой задачи?
p.s. Плюс еще нет гарантий что вот эта часть до даты будет строго определенное кол-во цифр, туда могут потребовать какую то id-шку вставить, т.е. даже вот этот like не будет работать, а менять на % не совсем, я думаю, математически верно.