Как сделать что бы ID не увеличивалась при обновлении? Вариант не работает, или я не понимаю что происходит внутри.
Насколько я понимаю когда запись вставлена в базу, она получает свой айди, и если попадается запись с таким же хешем, то просто идет обновление хеша а айди остается тем же и счетчик не увеличивается. Но сейчас я вижу что айди с дырками… идет 1 2 3 4 5 8 20 23 24 56 70 и так далее.. Может надо какой-то еще уникальный индекс типа хеша сделать?
INSERT INTO posts (channel_id, message_id, message, hash)
VALUES
(:channel_id, :message_id, :message, :hash)
ON DUPLICATE KEY UPDATE id = LAST_INSERT_ID(id), hash = VALUES(hash)