Вам нужно получать этот самый id в момент ставки замкнув всё в транзакцию с запретом на чтение. а пользователю отдавать 0, чтобы потом система видев 0 от пользователя сделала эту самую вставку
какой тип поля и почему оно с таким форматом?
по умолчанию выводится в вашем локальном формате независимо от того как хранится в базе. может вам лучше исправлять локальное отображение, а не базу.
если вы не обновляете 1млн элементов, то решайте как-нибудь. вы дольше будете заниматься преждевременной оптимизацией. будет решение, увидите скорость, тогда уже поймёте что оптимизировать.
Например, при обновлении товара, сперва записываете в другую таблицу tovar_backup свой товар и номер версии,
а в самой таблице товар храните последнюю версию и её номер.