Страницы

Поиск по вопросам

среда, 6 марта 2019 г.

Как сделать один id (primary key) в mysql таблице непохожим на другие?

Для технических нужд требуется одну из записей в таблице сделать с id, выпадающим из общего ряда, но так, чтобы это не повлияло на последовательность auto_increment.
-1 не годится, так как поле unsigned
0 не годится, так как в приложении есть проверки на empty
999999 подошел бы, но как быть с auto_increment?
И в целом, какой подход обычно практикуется для решения такой задачи?


Ответ

Вы, конечно, стреляете себе в ногу, но если очень хочется, можно добавить нужную вам строку с большим id, а потом сбросить автоинкремент на старое значение:
ALTER TABLE `your_table` AUTO_INCREMENT = 42
И в целом, какой подход обычно практикуется для решения такой задачи?
Вам нужно, чтобы она была всегда наверху/внизу какого-то списка? Сделайте это лучше дополнительным полем "сортировка" или, на худой конец, просто костылём в коде. То, что вы придумали, очень-очень плохо и когда-нибудь обязательно выйдет боком.

Комментариев нет:

Отправить комментарий