PHP — получение наибольшего значения из столбца Mysql уникального идентификатора

Мои текущие проекты состоят из регистрации семей разных областей в городе. я хочу сгенерировать уникальный идентификатор для каждой семьи, в которой он нужен для другой части этого проекта. В каждом районе города уже есть уникальный номер, например: 855, 856, 857 и т. д.

Поэтому я планирую сгенерировать уникальный идентификатор семьи путем объединения уже имеющегося уникального номера + текст «FM» + номер (1,2,3 ….) и сохранить этот идентификатор в БД вместе с деталями семьи.

Например, (Area-855): 855FM1, 855FM2, 855FM3 ….

если последний зарегистрированный идентификатор семейства — 855FM40, то следующий идентификатор семейства должен быть 855FM41. поэтому я хочу получить наибольшее значение из поля UID. выше: например, наибольшее значение составляет 855FM41. как я это делаю ?

У меня есть простая логика, которая получает все UID, а затем разделить его после «FM». затем найти самый большой и т. д.

Как мне решить эту проблему.? Есть ли простой способ, кроме этого?

0

Решение

С помощью команды ORDER вы можете отсортировать данные, упорядочив по возрастанию или убыванию одного столбца.

поэтому сначала мы заказываем столбец FamilyID по убыванию (в sql мы используем DESC), а затем мы получаем первую строку с наибольшим значением FamilyID с помощью команды «LIMIT 0,1»

Попробуй это:

SELECT * FROM families ORDER BY FamilyID DESC LIMIT 0, 1
2

Другие решения

Вы должны использовать два столбца вместо одного. Например это:

FamilyID
--------
855FM1
855FM2

Должен храниться как:

CityID  FMNumber
------  --------
855     1
855     2

Таким образом, данные должны быть более простыми в управлении и менее избыточными. И да, можно определить первичные или уникальные ключи для нескольких столбцов.

1

По вопросам рекламы [email protected]