User error: Duplicate entry

14 декабря 2008 в 17:15

В общем и целом, проблема.
При создании материала (истории, страницы, опроса и т.д.) появляется сообщение в красной рамке:

# user warning: Duplicate entry '0' for key 2 query: INSERT INTO drupal_node (vid, type, language, title, uid, status, created, changed, comment, promote, moderate, sticky, tnid, translate) VALUES (0, 'story', 'ru', 'пвп', 1, 1, 1229262520, 1229262520, 2, 1, 0, 0, 0, 0) in /home/a5759393/public_html/includes/common.inc on line 3303.
# user warning: Duplicate entry '0' for key 1 query: INSERT INTO drupal_node_comment_statistics (nid, last_comment_timestamp, last_comment_name, last_comment_uid, comment_count) VALUES (0, 1229262520, NULL, 1, 0) in /home/a5759393/public_html/modules/comment/comment.module on line 606.

На сколько мне известно, это связано с возникновением дубликата в базе данных. Нашёл решение проблемы на английском языке на drupal.org. Понял от туда, что "The solution is to enter a value for nid into the sequence table that is higher than ANY nid in the node table." Эээ...а как? О_о Желательнее по-подробнее (и на русском языке).

Комментарии

Идете в таблицу drupal_node, сортируете по столбцу nid, смотрите самый большой nid, идете в таблицу sequence и вставляете в поле nid число, которое больше, чем nid из таблицы drupal_node.

С таблицей drupal_node_comment_statistics проделываете то же самое.

14 декабря 2008 в 21:22

perfectsense wrote:
Идете в таблицу drupal_node, сортируете по столбцу nid, смотрите самый большой nid, идете в таблицу sequence и вставляете в поле nid число, которое больше, чем nid из таблицы drupal_node.

С таблицей drupal_node_comment_statistics проделываете то же самое.

ВСЕ ПОМОГЛО!!! Спасибо большое!

17 октября 2010 в 12:53

ну так что?..
вопрос становится более конкретным - в какой таблице в Друпал 6 хранится служ.информация?
раз drupal_sequence тут нет, должен же быть её аналог...

19 декабря 2008 в 15:10

Спасибо за ссылку
...эээ...кхм...я конечно извиняюсь...но...
Всё делаю по данной инструкции, все манипуляции проходят, за исключением ALTER TABLE `drupal_node_revisions` ADD PRIMARY KEY ( `vid` ) это я вроде бы сделал вручную...
Не могу понять, почему nid присваивается значение 0 Sad
Сайт находится в процессе создания. Первый (любой) материал создаётся с nid отличным от нуля, все последующие с нулём. Из-за этого при создании всех последующих возникает ошибка о Duplicate entry. Как заставить присваивать nid>0 и разными значениями?

P.S Может быть не очень литературно описал, однако очень нуждаюсь в помощи

3 января 2009 в 14:14