большинство проблем с SQL, особенно у новичков, как раз из-за автоинкремента, вот как сейчас.
правильно спроектированная база в автоинкременте не нуждается.
Еще более скажу - uuid совсем не зло
У меня очень просто пример
Автоинкрементные ключи вообще лучше не использовать - это вселенское зло!
...
Почему автоинкремент плохо - сотни статей в интернетах.
Какой запрос необходимо составить?
В некоторых строках встречается символ, который является делимтром, из-за этого программа думает, что нет нужного столбца.
Всего три столбца.
Делимитр |
1 - timestamp
2 - строка
3 - json.
в 1 столбце символа быть не может.
в 2 - они встречается
в 3 - тоже может встречаться, но тут можно сыграть на том, что строка всегда начианется и заканчитвается на {}
у нас есть тяжёлая таблица
Как оптимальнее всего организовать хранения таких данных и чтобы потом максимально быстро доставать оттуда данные для отчётов?
CAST(if(cs.parent_id IS NULL, '', cs.name) AS CHAR(65535)) fqpath
WHERE cs.parent_id IS NULL
CAST(cs.name AS CHAR(65535)) fqpath
я буду получать только одного родителя.
здесь надо будет пылесосить каждый месяц
но на виртуалку надо будет докупить еще одну оф винду 10 или 11.
Генератор автоинкремента гарантирует, что при полностью автономной работе (т.е. без вмешательства в его работу извне) очередное сгенерированное значение превышает любое ранее сгенерированное значение. К слову, именно следствием этой гарантии и является гарантия, что никакое значение не будет сгенерировано повторно.
Всё. Более автоинкремент НИЧЕГО не обещает и не гарантирует. В том числе и непрерывности в списке генерируемых значений.
Ну либо ты не видел, либо не обратил внимания. Попробуй INSERT .. ODKU.