Задавайте вопросы, мы ответим
Вы не зашли.
Никак не могу решить проблему с Duplicate entry. Перед вставкой делаю проверку по этому полю.
Если нет такой записи то вставляю.
И получаю Duplicate entry.
Движек БД innodb.
В чем еще может быть проблема? И как вообще такое может быть. Ведь перед вставкой проверяю.
Неактивен
Покажите show create table таблицы и sql-запрос, который вставляет запись.
Неактивен
Неактивен
Там проблема может быть в том, что не вмещается хеш в поле ID.
Попробуй увеличить длину поля ID с 32 до 64.
Объяснить не могу, потому-что до конца с этой проблемой не разбирался.
У тебя есть две записи, у которых начальные символы хеша совпадают.
При вставке хеш рубится до какого-то символа и получается, что два хеша одинаковы.
Например, ты хочешь вставить id = 123456789zzz, и в БД уже есть запись, где id = 123456789xxx, который при вставке обрубился до 123456789 из-за недостаточной длины поля.
При проверке, ты проверяешь 123456789zzz, запись не находится. Но при вставке новый id обрубается до 123456789 и получается, что такой id уже есть.
Отредактированно Александр Трофимов (29.10.2013 17:28:39)
Неактивен
Там проблема может быть в том, что не вмещается хеш в поле ID.
Попробуй увеличить длину поля ID с 32 до 64.
Но у меня char 32 установлен и хеш md5() 32 длинна.
Неактивен
Просто попробуй, думать, почему так, будешь потом.
Неактивен