Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Duplicate entry '' for key 2 - что это за ошибка?
 
 автор: kran   (04.11.2005 в 23:19)   письмо автору
 
 

Здравствуйте!

При работе с MySQL стала выдаваться ошибка:

" Duplicate entry '' for key 2 "

Что это такое, откуда она вдруг взялась и главное как ее убрать?

Спасибо!

   
 
 автор: codexomega   (05.11.2005 в 03:14)   письмо автору
 
   для: kran   (04.11.2005 в 23:19)
 

У вас скорее всего в таблице есть поле, с уникальным значением.
Так вот вы при добавке данных в таблицу хотите вложить дважды одно и тоже значение в это поле.

   
 
 автор: cheops   (05.11.2005 в 10:36)   письмо автору
 
   для: kran   (04.11.2005 в 23:19)
 

Или у этого поля с уникальными значениями достигнут предел - и совершается попытка пойти по кругу... Приведите если не сложно структуру таблицы? Какие типы используются и при каких обстоятельствах выдаётся эта ошибка?

   
 
 автор: Саша   (05.11.2005 в 12:30)   письмо автору
 
   для: cheops   (05.11.2005 в 10:36)
 

Еще может быть, что у вас значение по умолчанию поставлено в автоинкременте.

   
 
 автор: kran   (06.11.2005 в 00:48)   письмо автору
 
   для: cheops   (05.11.2005 в 10:36)
 

Вот кусок дампа струтуры таблицы, вроде бы ничего необычного:


CREATE TABLE 'mytable' (
  'id' int(11) NOT NULL auto_increment,
  'value_1' varchar(150) NOT NULL default '',
  'value_2' varchar(250) NOT NULL default '',
  'value_3' text NOT NULL,
  'value_4' int(11) NOT NULL default '0',
  'value_5' timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  PRIMARY KEY  ('id'),
  FULLTEXT KEY 'search' ('value_2','value_3')
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 PACK_KEYS=0 AUTO_INCREMENT=28851 ;


Ошибка выдается во время команды UPDATE value_2 и value_3

   
 
 автор: cheops   (06.11.2005 в 01:01)   письмо автору
 
   для: kran   (06.11.2005 в 00:48)
 

Хм... вообще говоря не должно быть так...

   
 
 автор: kran   (06.11.2005 в 01:09)   письмо автору
 
   для: cheops   (06.11.2005 в 01:01)
 

И тем не менее вылазит ошибка такого рода:

Duplicate entry '(Здесь значение объекта value_2)' for key 2

   
 
 автор: kran   (08.11.2005 в 12:26)   письмо автору
 
   для: kran   (06.11.2005 в 01:09)
 

Вообщем не знаю в чем была проблема, но после того как переустановил сервер она исчезла!
Наверное глюк какой-то!

А так действительно ели есть unique, и скрипт пытается записать туда уже имеющиеся значение, тогда вылазит эта самая ошибка, чтож теперь буду знать набудущее :))

Всем спаисибо!

   
 
 автор: gaz21org   (26.01.2006 в 18:42)   письмо автору
 
   для: kran   (04.11.2005 в 23:19)
 

Это глюк MySQL. Переставлять сервер не надо было.
Достаточно выполнить команду оптимизации или удалить/создать индекс заново или изменить(обычно увеличивают размер) тип поля. В общем как-нибудь модифицировать таблицу...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования