Задавайте вопросы, мы ответим
Вы не зашли.
Помогите пожалуйста, недавно при попытке добавить новость вышла ошибка
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/
Неактивен
Похоже у Вас слетел автоинкремент с колонки id. Попробуйте выполнить запрос SHOW CREATE TABLE dle_post и напишите, что он возвращает
Неактивен
Сделал, написало вот это:
dle_post CREATE TABLE `dle_post` (\n `id` int(11) NOT NULL ...
Неактивен
самое интересное что там после ...
Неактивен
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)
Неактивен
А, я не заметил что есть полный текст.
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)
Неактивен
точно, у Вас пропал auto_increment
выполните команду:
alter table dle_post MODIFY id int(11) NOT NULL auto_increment;
Неактивен
Я сделал запрос
alter table dle_post MODIFY id int(11) NOT NULL auto_increment;
и вся кодировка на сайте полетела((
Неактивен
А какой менеджер БД Вы используете.
Насколько я могу судить у Вас таблица dle_posts перешла в utf-8.
Неактивен
phpMyAdmin, да у меня была кодировка windows-1251, а теперь поменялась, можно ли исправить это? у меня много постов,и во всех поменялась кодировка.
Неактивен
Само по себе ничего не происходит, тем более - с кодировками. Может,
хостер побаловался?
Данные из других таблиц в нормальной кодировке выбираются или так же?
Если так же - то дело в смене кодировки в PHP, надо после подключения
сказать "SET NAMES cp1251" - и все встанет на свои места.
Если из других таблиц данные выбираются нормально, а только с этой таблицей
проблемы - нужно преобразовать данные в этой таблице. Проще всего сделать
это через резервную копию и восстановление (см статью http://sqlinfo.ru/articles/info/5.html).
Неактивен
Выполните ещё раз SHOW CREATE TABLE dle_post;
Неактивен
Хостер не балуется так)
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)
Неактивен
paulus написал:
Само по себе ничего не происходит, тем более - с кодировками. Может,
хостер побаловался?
Данные из других таблиц в нормальной кодировке выбираются или так же?
Если так же - то дело в смене кодировки в PHP, надо после подключения
сказать "SET NAMES cp1251" - и все встанет на свои места.
Если из других таблиц данные выбираются нормально, а только с этой таблицей
проблемы - нужно преобразовать данные в этой таблице. Проще всего сделать
это через резервную копию и восстановление (см статью http://sqlinfo.ru/articles/info/5.html).
Судя по сайту, проблемы только с этой таблицей.
А вариант ALTER TABLE tbl_name CONVERT TO CHARACTER SET cp1251; не поможет в данном случае?
Неактивен
vasya написал:
Судя по сайту, проблемы только с этой таблицей.
А вариант ALTER TABLE tbl_name CONVERT TO CHARACTER SET cp1251; не поможет в данном случае?
Там может быть статика с таким же успехом..
Не поможет, потому что таблица уже в cp1251. Надо сказать MySQL, что таблица
в utf8, но без конверта как раз
Неактивен
vasya написал:
А вариант ALTER TABLE tbl_name CONVERT TO CHARACTER SET cp1251; не поможет в данном случае?
она и так в cp1251 судя по mysql. Перед тем как делать такие запросы, надо сделать дамп. Если сделаете дамп одной данной таблицы, можете прислать его на sakila собака sqlinfo.ru
Неактивен
что мне сейчас сделать?
Неактивен
Что-то я запутался.
Изначально судя по "DEFAULT CHARSET=cp1251" данные были в cp1251. Далее при выполнении alter table сервер создал временную таблицу, которую по завершении операции переименовал в исходную, а исходную удалил.
Данные при этом остались неизменными, т.е. в cp1251, но сервер полагает, что они utf-8. Теперь надо сказать, что таблица в cp1251, Но без конверта.
Так или нет?
Неактивен
Ответить на #11
Неактивен
ВСЕ спасибо вам большое, разобрался
да и еще то что пришлось перейти на Utf8 на чтонибудь будет влиять, вы не знаете?
Отредактированно 1cin (27.01.2008 17:34:50)
Неактивен
rgbeast написал:
точно, у Вас пропал auto_increment
выполните команду:
alter table dle_post MODIFY id int(11) NOT NULL auto_increment;
спасибо большое помогло да и в самом деле phpmyadmin ставит auto_increment и после этого ошибка. Поэтому лучше mysqlclient )
Неактивен
Помогите пожалуйста. Почти та же проблема
Ошибка БД
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
Неактивен
А как это Duplicate entry на select запросе??
Неактивен
Ребята я с 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 Подходит не только для мытья молочных бутылочек, сосок, прорезывателей, детской посуды, игрушек, но также для <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. Буду благодарен за помощь и советы.
Неактивен
Новые модули устанавливали?
Есть ли в админке что-то типа синхронизировать базу?
Неактивен