SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.01.2008 14:08:05

1cin
Участник
Зарегистрирован: 27.01.2008
Сообщений: 15

MySQL Error! Error Number: 1062

Помогите пожалуйста, недавно при попытке добавить новость вышла ошибка

MySQL Error!
------------------------

The Error returned was:
Duplicate entry '0' for key 1

Error Number:
1062

INSERT INTO dle_post (date, autor, short_story, full_story, xfields, title, descr, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, votes, access, expires, symbol, flag) values ('2008-01-27 14:07:26', 'Vito Corleone', 'текст краткой новости<br />', 'текст полной новости<br />', '', 'Название материала', 'текст краткой новости текст полной новости', 'новости, текст, полной, краткой', '20', 'nazvanie-materiala', '1', '1', '1', '0', '1', '0', '0', '', '0000-00-00', 'n', '1')

Подскажите пожалуйста что надо сделать, я не очень силен в QSL/

Неактивен

 

#2 27.01.2008 14:12:23

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: MySQL Error! Error Number: 1062

Похоже у Вас слетел автоинкремент с колонки id. Попробуйте выполнить запрос SHOW CREATE TABLE dle_post и напишите, что он возвращает

Неактивен

 

#3 27.01.2008 14:13:54

1cin
Участник
Зарегистрирован: 27.01.2008
Сообщений: 15

Re: MySQL Error! Error Number: 1062

Сделал, написало вот это:

dle_post      CREATE TABLE `dle_post` (\n  `id` int(11) NOT NULL ...

Неактивен

 

#4 27.01.2008 14:21:51

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: MySQL Error! Error Number: 1062

самое интересное что там после ...

Неактивен

 

#5 27.01.2008 14:23:02

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5840

Re: MySQL Error! Error Number: 1062

1cin написал:

Сделал, написало вот это:

dle_post      CREATE TABLE `dle_post` (\n  `id` int(11) NOT NULL ...

Нужно нажать правой кнопкой на вывод результата, т.е. "create table `dle_post` ( ..." Во всплывшем окне должна быть возможность сохранить результат.
Как вариант (независимо от менеджера БД), Вы всегда можете поместить курсор в начало вывода и удерживая "Shift" перемещать его вправо до упора. Затем скопировать в буфер обмена выделенный текст.

Отредактированно vasya (27.01.2008 14:29:30)

Неактивен

 

#6 27.01.2008 14:23:53

1cin
Участник
Зарегистрирован: 27.01.2008
Сообщений: 15

Re: MySQL Error! Error Number: 1062

А, я не заметил что есть полный текст.


CREATE TABLE `dle_post`
(\n  `id` int(11) NOT NULL default '0',\n
  `autor` varchar(40) NOT NULL default '',\n
  `date` datetime NOT NULL default '0000-00-00 00:00:00',\n
`short_story` text NOT NULL,\n
`full_story` text NOT NULL,\n  `xfields` text NOT NULL,\n
`title` varchar(255) NOT NULL default '',\n
  `descr` varchar(200) NOT NULL default '',\n
`keywords` text NOT NULL,\n
  `category` varchar(200) NOT NULL default '0',\n
  `alt_name` varchar(200) NOT NULL default '',\n
`comm_num` smallint(5) unsigned NOT NULL default '0',\n
`allow_comm` tinyint(1) NOT NULL default '1',\n
`allow_main` tinyint(1) unsigned NOT NULL default '1',\n
`allow_rate` tinyint(1) unsigned NOT NULL default '1',\n
`approve` tinyint(1) NOT NULL default '0',\n
`fixed` tinyint(1) NOT NULL default '0',\n
`rating` smallint(5) NOT NULL default '0',\n 
`allow_br` tinyint(1) NOT NULL default '1',\n 
`vote_num` smallint(5) unsigned NOT NULL default '0',\n
`news_read` smallint(6) unsigned NOT NULL default '0',\n
`votes` tinyint(1) NOT NULL default '0',\n
`access` varchar(150) NOT NULL default '',\n
  `expires` date NOT NULL default '0000-00-00',\n
`symbol` char(3) NOT NULL default '',\n
`flag` tinyint(1) NOT NULL default '1',\n
PRIMARY KEY  (`id`),\n
KEY `autor` (`autor`),\n
  KEY `alt_name` (`alt_name`),\n
  KEY `category` (`category`),\n
KEY `approve` (`approve`),\n
KEY `allow_main` (`allow_main`),\n
KEY `date` (`date`),\n 
KEY `symbol` (`symbol`),\n 
FULLTEXT KEY `short_story` (`short_story`,`full_story`,`xfields`,`title`)\n)
ENGINE=MyISAM DEFAULT CHARSET=cp1251

Отредактированно 1cin (27.01.2008 14:29:15)

Неактивен

 

#7 27.01.2008 14:30:05

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: MySQL Error! Error Number: 1062

точно, у Вас пропал auto_increment

выполните команду:
alter table dle_post MODIFY id int(11) NOT NULL auto_increment;

Неактивен

 

#8 27.01.2008 14:35:40

1cin
Участник
Зарегистрирован: 27.01.2008
Сообщений: 15

Re: MySQL Error! Error Number: 1062

Я сделал запрос

alter table dle_post MODIFY id int(11) NOT NULL auto_increment;

и вся кодировка на сайте полетела((

Неактивен

 

#9 27.01.2008 14:43:03

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5840

Re: MySQL Error! Error Number: 1062

А какой менеджер БД Вы используете.
Насколько я могу судить у Вас таблица dle_posts перешла в utf-8.

Неактивен

 

#10 27.01.2008 14:45:49

1cin
Участник
Зарегистрирован: 27.01.2008
Сообщений: 15

Re: MySQL Error! Error Number: 1062

phpMyAdmin, да у меня была кодировка windows-1251, а теперь поменялась, можно ли исправить это? у меня много постов,и во всех поменялась кодировка.

Неактивен

 

#11 27.01.2008 14:55:29

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: MySQL Error! Error Number: 1062

Само по себе ничего не происходит, тем более - с кодировками. Может,
хостер побаловался?

Данные из других таблиц в нормальной кодировке выбираются или так же?

Если так же - то дело в смене кодировки в PHP, надо после подключения
сказать "SET NAMES cp1251" - и все встанет на свои места.

Если из других таблиц данные выбираются нормально, а только с этой таблицей
проблемы - нужно преобразовать данные в этой таблице. Проще всего сделать
это через резервную копию и восстановление (см статью http://sqlinfo.ru/articles/info/5.html).

Неактивен

 

#12 27.01.2008 14:57:23

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5840

Re: MySQL Error! Error Number: 1062

Выполните ещё раз SHOW CREATE TABLE dle_post;

Неактивен

 

#13 27.01.2008 15:00:30

1cin
Участник
Зарегистрирован: 27.01.2008
Сообщений: 15

Re: MySQL Error! Error Number: 1062

Хостер не балуется так)
www.mchost.ru такого не было никогда,
после того как сделал  этот запрос "alter table dle_post MODIFY id int(11) NOT NULL auto_increment;", там вместо alter, кажется надо было написать after , поправьте меня если что. Ну и после создания запроса только новости поменяли кодировку.


CREATE TABLE `dle_post`
(\n  `id` int(11) NOT NULL default '0',\n
  `autor` varchar(40) NOT NULL default '',\n
`date` datetime NOT NULL default '0000-00-00 00:00:00',\n
`short_story` text NOT NULL,\n  `full_story` text NOT NULL,\n
`xfields` text NOT NULL,\n  `title` varchar(255) NOT NULL default '',\n  `descr` varchar(200) NOT NULL default '',\n
`keywords` text NOT NULL,\n
  `category` varchar(200) NOT NULL default '0',\n
`alt_name` varchar(200) NOT NULL default '',\n 
`comm_num` smallint(5) unsigned NOT NULL default '0',\n
`allow_comm` tinyint(1) NOT NULL default '1',\n
  `allow_main` tinyint(1) unsigned NOT NULL default '1',\n 
`allow_rate` tinyint(1) unsigned NOT NULL default '1',\n  `approve` tinyint(1) NOT NULL default '0',\n
`fixed` tinyint(1) NOT NULL default '0',\n
`rating` smallint(5) NOT NULL default '0',\n 
`allow_br` tinyint(1) NOT NULL default '1',\n
`vote_num` smallint(5) unsigned NOT NULL default '0',\n
`news_read` smallint(6) unsigned NOT NULL default '0',\n
`votes` tinyint(1) NOT NULL default '0',\n
`access` varchar(150) NOT NULL default '',\n
  `expires` date NOT NULL default '0000-00-00',\n  `symbol` char(3) NOT NULL default '',\n
`flag` tinyint(1) NOT NULL default '1',\n 
PRIMARY KEY  (`id`),\n 
KEY `autor` (`autor`),\n
KEY `alt_name` (`alt_name`),\n 
KEY `category` (`category`),\n 
KEY `approve` (`approve`),\n
KEY `allow_main` (`allow_main`),\n 
KEY `date` (`date`),\n
KEY `symbol` (`symbol`),\n 
FULLTEXT KEY `short_story` (`short_story`,`full_story`,`xfields`,`title`)\n)
ENGINE=MyISAM DEFAULT CHARSET=cp1251

Отредактированно 1cin (27.01.2008 15:04:22)

Неактивен

 

#14 27.01.2008 15:02:56

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5840

Re: MySQL Error! Error Number: 1062

paulus написал:

Само по себе ничего не происходит, тем более - с кодировками. Может,
хостер побаловался?

Данные из других таблиц в нормальной кодировке выбираются или так же?

Если так же - то дело в смене кодировки в PHP, надо после подключения
сказать "SET NAMES cp1251" - и все встанет на свои места.

Если из других таблиц данные выбираются нормально, а только с этой таблицей
проблемы - нужно преобразовать данные в этой таблице. Проще всего сделать
это через резервную копию и восстановление (см статью http://sqlinfo.ru/articles/info/5.html).

Судя по сайту, проблемы только с этой таблицей.
А вариант ALTER TABLE tbl_name CONVERT TO CHARACTER SET cp1251; не поможет в данном случае?

Неактивен

 

#15 27.01.2008 15:13:09

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: MySQL Error! Error Number: 1062

vasya написал:

Судя по сайту, проблемы только с этой таблицей.
А вариант ALTER TABLE tbl_name CONVERT TO CHARACTER SET cp1251; не поможет в данном случае?

Там может быть статика с таким же успехом..

Не поможет, потому что таблица уже в cp1251. Надо сказать MySQL, что таблица
в utf8, но без конверта как раз smile

Неактивен

 

#16 27.01.2008 15:14:37

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: MySQL Error! Error Number: 1062

vasya написал:

А вариант ALTER TABLE tbl_name CONVERT TO CHARACTER SET cp1251; не поможет в данном случае?

она и так в cp1251 судя по mysql. Перед тем как делать такие запросы, надо сделать дамп. Если сделаете дамп одной данной таблицы, можете прислать его на sakila собака sqlinfo.ru

Неактивен

 

#17 27.01.2008 15:22:29

1cin
Участник
Зарегистрирован: 27.01.2008
Сообщений: 15

Re: MySQL Error! Error Number: 1062

что мне сейчас сделать?

Неактивен

 

#18 27.01.2008 15:25:37

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5840

Re: MySQL Error! Error Number: 1062

Что-то я запутался.
Изначально судя по "DEFAULT CHARSET=cp1251" данные были в cp1251. Далее при выполнении alter table сервер создал временную таблицу, которую по завершении операции переименовал в исходную, а исходную удалил.
Данные при этом остались неизменными, т.е. в cp1251, но сервер полагает, что они utf-8. Теперь надо сказать, что таблица в cp1251, Но без конверта.
Так или нет?

Неактивен

 

#19 27.01.2008 15:26:12

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: MySQL Error! Error Number: 1062

Ответить на #11 smile

Неактивен

 

#20 27.01.2008 17:31:41

1cin
Участник
Зарегистрирован: 27.01.2008
Сообщений: 15

Re: MySQL Error! Error Number: 1062

ВСЕ спасибо вам большое, разобрался smile

да и еще то что пришлось перейти на Utf8 на чтонибудь будет влиять, вы не знаете?

Отредактированно 1cin (27.01.2008 17:34:50)

Неактивен

 

#21 14.04.2011 11:05:44

dayser
Участник
Зарегистрирован: 14.04.2011
Сообщений: 1

Re: MySQL Error! Error Number: 1062

rgbeast написал:

точно, у Вас пропал auto_increment

выполните команду:
alter table dle_post MODIFY id int(11) NOT NULL auto_increment;

спасибо большое помогло smile да и в самом деле phpmyadmin ставит auto_increment и после этого ошибка. Поэтому лучше mysqlclient smile)

Неактивен

 

#22 21.03.2012 14:04:39

Stanslaw
Участник
Зарегистрирован: 21.03.2012
Сообщений: 1

Re: MySQL Error! Error Number: 1062

Помогите пожалуйста. Почти та же проблема


Ошибка БД
Error Number: 1062

Duplicate entry '1100-1100' for key 'group_key'

SELECT `mso_page`.`page_id`, `page_type_name`, `page_slug`, `page_title`, `page_date_publish`, `page_status`, `users_nik`, `page_content`, `page_view_count`, `page_rating`, `page_rating_count`, `page_password`, `page_comment_allow`, `page_id_parent`, `users_avatar_url`, COUNT(comments_id) AS page_count_comments, `mso_page`.`page_id_autor`, `users_description`, `users_login` FROM (`mso_page`) LEFT JOIN `mso_users` ON `mso_users`.`users_id` = `mso_page`.`page_id_autor` LEFT JOIN `mso_page_type` ON `mso_page_type`.`page_type_id` = `mso_page`.`page_type_id` LEFT JOIN `mso_comments` ON `mso_comments`.`comments_page_id` = `mso_page`.`page_id` AND comments_approved = 1 WHERE `page_status` = 'publish' AND `page_type_name` = 'blog' AND page_date_publish < DATE_ADD(NOW(), INTERVAL "03:00" HOUR_MINUTE) GROUP BY `mso_page`.`page_id`, `comments_page_id` ORDER BY `page_date_publish` desc LIMIT 10

Неактивен

 

#23 21.03.2012 22:36:56

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5840

Re: MySQL Error! Error Number: 1062

А как это Duplicate entry на select запросе??

Неактивен

 

#24 16.08.2014 11:42:53

Anatoli183
Участник
Зарегистрирован: 16.08.2014
Сообщений: 4

Re: MySQL Error! Error Number: 1062

Ребята я с MySQL как то на длинной ноге и по этому прошу помощи у Вас с этой проблемой т.к. на специализированном форуме не нашел ответов. Есть торговая площадка под управлением CMS OpenCart и при сохранить или копировать товар выдает:

Notice: Error: Duplicate entry '867-1' for key 'PRIMARY'
Error No: 1062
INSERT INTO product_description SET product_id = '867', language_id = '1', name = 'Nissan Fa-Fa Средство для мытья посуды, клубника и мята, (сменная упаковка) 400 мл', meta_keyword = 'Nissan Fa-Fa Средство для мытья посуды, клубника и мята, (сменная упаковка) 400 мл', meta_description = '', description = '<ul>\r\n <li>\r\n Не содержит красителей и фосфора.</li>\r\n <li>\r\n Эксклюзивная формула удаляет остатки засохшего молока, обеспечивает антибактериальный эффект.</li>\r\n <li>\r\n На 100% состоит из пищевых компонентов.</li>\r\n <li>\r\n Подходит не только для мытья молочных бутылочек, сосок, прорезывателей, детской посуды, игрушек, но также для&nbsp;<b>фруктов и овощей</b>.</li>\r\n</ul>\r\n<p>\r\n <b>Безопасное и эффективное средство!</b></p>\r\n', tag = '', seo_title = 'Nissan Fa-Fa Средство для мытья посуды, клубника и мята, (сменная упаковка) 400 мл', seo_h1 = 'Nissan Fa-Fa Средство для мытья посуды, клубника и мята, (сменная упаковка) 400 мл' in /home/hbfxeznn/public_html/system/database/mysql.php on line 49

Когда возникла и при каких действиях возникла это я не знаю, есть доступ к phpMyAdmin. Буду благодарен за помощь и советы.

Неактивен

 

#25 16.08.2014 12:32:13

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5840

Re: MySQL Error! Error Number: 1062

Новые модули устанавливали?

Есть ли в админке что-то типа синхронизировать базу?

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson