В настоящее время у меня есть сценарий выполнения SQL, который обновляет строку дубликата ключа, которая выглядит следующим образом.
$stmt = $dbCon->prepare("INSERT INTO videos_rating (videos_rating_video_fk, "
. " videos_rating_user_fk, "
. " videos_rating_rating) "
. " VALUES (:video_id, "
. " :user_id, "
. " :video_rating) "
. " ON DUPLICATE KEY UPDATE videos_rating_rating = :video_rating");
Этот сценарий работает нормально, но есть способ предотвратить выход столбца с автоинкрементом изsync?
Предположим, что мы начинаем с пустой таблицы, затем я оцениваю видео, которое затем создает строку с идентификатором 1, затем пользователь снова выполняет SQL, оценивая то же видео ниже или ниже.более высокий рейтинг, и строка будет обновлена, потому что теперь она является дублирующим ключом, без проблем.
Проблема заключается в следующем.
В следующий раз, когда другой пользователь оценит новое новое видео, теперь начнется строкас идентификатором 3, а не 2?
Таблица будет выглядеть следующим образом
id | videos_rating_user_fk | videos_rating_rating
1 | 1 | 4
3 | 2 | 5
Мне не удалось найти подобный вопрос, хотя я нахожу крайне маловероятным, что никто другой не имеетменя это беспокоило, если да, то, пожалуйста, отошлите меня к этому посту.
Я знаю, что идентификаторы не должны выглядеть «хорошо», но очень раздражает, что идентификаторы прыгают с 30 - 51 - 82 - 85 -89 и т. Д. И не возникнет ли проблема в какой-то момент, когда будет достигнуто максимальное число UNSIGNED big int?Я не говорю, что когда-нибудь поднимусь так высоко, но все же.