Ошибка сеанса Laravel 4 - повторяющаяся запись «4294967295» для ключа «PRIMARY»

Я использую драйвер сеанса базы данных в Laravel Four. БД MySQL.

Все работало нормально, затем я получил эту ошибку. Попытка на разных компьютерах возвращает одну и ту же ошибку.

Я обрезал таблицу сеансов и сбросил значение auto_increment. Это решило это на некоторое время, затем это повторилось.

Глядя на записи в таблице сеансов, идентификаторы иногда увеличивались на единицу, но иногда прыгали на разную величину, но ни один из них не приближался к максимальному значению для int(11). Затем, что кажется случайным, сеанс сохраняется с максимальным значением, после чего все останавливается.

Кто-нибудь еще видел такую ​​​​ошибку с Laravel Four? Любые идеи о том, что вызывает это?

Приложение является частью API и частью CMS. Переключение на собственный драйвер сеансов до сих пор решило проблему. Но я хотел бы иметь возможность использовать драйвер БД, если я смогу заставить его работать.


person user2449254    schedule 03.06.2013    source источник
comment
Что бы это ни стоило, это FFFFFFFF или -1, в зависимости от того, как вы на это смотрите.   -  person Hot Licks    schedule 03.06.2013
comment
просто предложение, но, возможно, вы могли бы использовать GUID для своей базы данных сеансов вместо автоинкремента.   -  person awei    schedule 23.01.2014


Ответы (2)


Шаг 1: select max(your primary_key_field) from your_table_name;
Шаг 2: ALTER TABLE your_table_name AUTO_INCREMENT = value_u_got_from_step1 + 1;
вместо 1 можно поставить любое значение instep2... Я думаю, это может сработать...

person Prabhakaran    schedule 21.07.2014

Вручную сбросьте auto_increment. Удалить все строки таблицы недостаточно.

Таблица ALTER TABLE AUTO_INCREMENT = 1

person Jerome Jaglale    schedule 29.08.2014