PHP Mysql инкремент дБ поле как версия проекта - PullRequest
0 голосов
/ 04 мая 2018

Возможно, я не озаглавил вопрос правильно.

Но мне интересно, если это встроенный , чтобы каждый раз увеличивать поле с +1 в следующем формате:

Начните с 1.0 (или 1.0.0)

в конце концов, после многих обновлений поле может быть:

2.7.1

1 Ответ

0 голосов
/ 04 мая 2018

Это немного сложно, но SQL может это сделать.

В ваших требованиях есть три приращения. Допустим, ваша версия выглядит как Major.Minor.Patch. Вам потребуется отдельная операция для каждого вида приращения. И вам нужен столбец таблицы для каждого.

Получение версии:

     SELECT CONCAT_WS('.', Major, Minor, Patch) FROM tbl WHERE whatever;

Увеличение патча:

     UPDATE tbl SET Patch = Patch + 1 WHERE whatever

Увеличение минорной версии и сброс патча.

     UPDATE tbl SET Minor = Minor + 1, Patch = 0 WHERE whatever

Увеличение основной версии и сброс младшего и патча.

     UPDATE tbl SET Major = Major + 1, Minor = 0, Patch = 0 WHERE whatever

Совет для профессионалов При проектировании SQL часто бывает необходимо полностью понять реальную проблему, которую вы решаете, - вам нужна точная модель данных вашей проблемы. Тогда SQL просто.

...