Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2008-10-29 23:59:09

thilde
Membre
Inscription : 2006-07-30

MySQL : 1062 - Duplicate entry '0' for key 1

Mon passage à dot2 ayant lamentablement foiré et ayant entraîné de gros soucis sur dot1, j'ai supprimé les tables, supprimé la bdd, créé une nouvelle bdd puis réinstallé dot1 sur un terrain sain. Tout est ok sauf lorsqu'on veut ajouter un commentaire sur le blog. Un message s'affiche: MySQL : 1062 - Duplicate entry '0' for key 1

Comment puis-je corriger ce problème?

Hors ligne

#2 2008-10-30 00:07:54

thilde
Membre
Inscription : 2006-07-30

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Je viens de tester qu'un billet est bien édité sur le blog. C'est ok. Par contre, dans admin, le billet m'indique 2463 commentaires (qui n'existent pas).

Hors ligne

#3 2008-10-30 00:10:22

thilde
Membre
Inscription : 2006-07-30

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Et le formulaire "ajouter un commentaire" sur le billet test est absent

Hors ligne

#4 2008-10-30 05:51:52

Kozlika
Modo dcTeam
Inscription : 2004-05-08
Site Web

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Pour le formulaire absent : tes commentaires sont bien déclarés ouverts ?


La documentation : http://doc.dotclear.net/2.0/fulltoc
Le module de recherche du forum : http://www.dotclear.net/forum/search.php ?

Hors ligne

#5 2008-10-30 06:45:13

ULB
Membre
Lieu : Saint Malo
Inscription : 2006-07-10
Site Web

Re : MySQL : 1062 - Duplicate entry '0' for key 1

thilde a écrit :

Un message s'affiche: MySQL : 1062 - Duplicate entry '0' for key 1

J'ai eu ce problème il y a longtemps en changeant d'hébergeur. A l'époque, il y avait ici une discussion sur le sujet mais je n'ai pas retrouvé le fil !
De mémoire, vas dans ton interface PhpMyAdmin, clique sur dc_comment pour obtenir dans la partie droite la structure de la table. Sur la ligne du champ comment_id, au niveau de l'extra, vérifie que ce soit en "auto_increment" sinon modifies-le.

(Désolé si le vocabulaire n'est pas correcte, je n'y connais pas grand chose en MySQL)

J'ai souvenir qu'il n'y avait pas que cette table qui posait problème et que j'avais dû en modifier beaucoup d'autres en comparant avec les tables d'une autre installation.

Mes souvenirs s'arrêtent là, il y avait peut-être autre chose à faire mais je ne me rappelle rien d'autre. Peut-être que cela va raviver la mémoire d'autres contributeurs.

Hors ligne

#6 2008-10-30 07:47:07

Thomas Rudolf
Banni(e)
Inscription : 2007-03-31
Site Web

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Oui, il faut d'abord créer soi-même et nommer chez ton hébergeur la nouvelle base mysql avant de faire quoi que ce soit.

Et ne surtout pas supprimer l'ancienne base mysql de ton blog sous DC1.

L'installation automatique du blog sous DC2 créera les tables vides dans ta nouvelle base mysql, puis l'importation dans ton admin de DC2 te permettra de copier automatiquement le contenu des tables de ton ancienne base du blog sous DC1 vers la nouvelle base de ton blog sous DC2.

Si la migration de DC1 vers DC2 foire il faut recommencer la création puis la migration, et si tu ne veux pas créer encore une fois une nouvelle base mysql comme au stade zéro du haut de ma réponse ici, il faut vider les tables de ta nouvelle base n°2, puis les supprimer. La base n°2 créée par toi sera ainsi réutilisable par la procédure d'installation automatique de DC2 et d'importation des tables de ton mysql de ton blog sous DC1.

Si tu ne fais pas tout ceci, l'installation automatique s'arrêtera et te dira que tu as déjà installé DC2. Et là tu es alors bloqué et tu peux aller boire une mousse aussi longtemps que tu veux, rien n'avancera.


http://www.renovezmaintenant67.eu avec un blog DC2,
et  http://www.hotchkiss.eu avec un blog DC2

Hors ligne

#7 2008-10-30 08:55:44

thilde
Membre
Inscription : 2006-07-30

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Avant d'aller fouiller du côté de vos réponses, je vous dis ce que je viens de faire ce matin. Je me suis dit qu'il s'agissait peut-être de fichiers corrompus lors du transfert. En comparant le dot vierge sur mon pc et celui du serveur, j'ai constaté une différence de taille des fichiers dans "écrire">help.  Certains fichiers sur le serveur sont de taille inférieure à celle de l'original.
Par exemple:
help>de>category: dot1pc=2232 alors que dot1serveur=2179
idem pour entry, user et wiki
idem pour les fichiers de-utf8 et it

Si ces renseignements n'ont aucune importance, j'irai fouiller sur les pistes que vous me donnez.

Hors ligne

#8 2008-10-30 09:06:09

thilde
Membre
Inscription : 2006-07-30

Re : MySQL : 1062 - Duplicate entry '0' for key 1

koz> sur page admin> configuration de dotclear>Permettre les commentaires>oui

Hors ligne

#9 2008-10-30 11:28:29

thilde
Membre
Inscription : 2006-07-30

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Voici où j'en suis:

Je suis allée sur phpmyadmin. Toutes les valeurs extra sont vides. La colonne existe bien mais rien n'est marqué dedans.

J'ai échangé les fichiers dont j'ai parlé plus haut. Aucun résultat.

Il me faut donc aller sur phpmyadmin mais là, il y a tant d'actions mystérieuses que je n'ose pas intervenir sans vos conseils.

Hors ligne

#10 2008-10-30 11:47:59

thilde
Membre
Inscription : 2006-07-30

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Hors ligne

#11 2008-10-30 14:30:50

Thomas Rudolf
Banni(e)
Inscription : 2007-03-31
Site Web

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Sur ton screenshot je vois que tes tables ne sont pas vides et ni éliminées.

En bas de ce tableau tu as à cocher la case "Cocher tout". Sur la même ligne tu choisis à droite l'action "vider".

Ensuite une autre fenêtre s'affiche sur ton écran et tu choisis "oui" en vert.

Ensuite ta première fenêtre réapparait et là tu vois que tes tables sont vidées dans ton tableau qui est resté entier.

Puis tu refais "cocher tout" mais cette fois-ci tu choisis "supprimer" dans la case à droite.

Puis la nouvelle fenêtre s'affiche et tu choisis "oui" en vert.

Il reste alors 4 tables et ton tableau a considérablement diminué, il reste 4 tables. Mais ce n'est pas grave.

Ta procédure d'installation automatique de DC2 va tout de même marcher, et bien marcher.

Amuses-toi bien. Si je n'avais pas bidouillé des heures et des heures depuis presque 3 ans sur DC1, je n'y serai pas arrivé moi-même.

DC, c'est bien, très bien, mais ce n'est tout de même pas une Moulinex. Heureusement il y a la team et le forum. Des amis, quoi.


http://www.renovezmaintenant67.eu avec un blog DC2,
et  http://www.hotchkiss.eu avec un blog DC2

Hors ligne

#12 2008-10-30 15:01:24

thilde
Membre
Inscription : 2006-07-30

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Merci Thomas. Là, mon problème n'est pas de passer à dc2 mais résoudre  MySQL : 1062 - Duplicate entry '0' for key 1. Pour dc2, je vais laisser décanter puis je me lancerai.

Hors ligne

#13 2008-10-30 15:41:02

Dzana
Membre
Inscription : 2007-07-22
Site Web

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Salut Thilde,

Donc on est sur DC1. Je ne vois pas grand chose sur ta capture d'écran, mais ta table dc_comment me paraît bien grande (plus de champs que la normale).

Je suppose que la base est vierge. Si elle contient des données que tu veux garder, il faut sauvegarder au préalable, sinon essaie ceci :

Le plus simple est de la supprimer. Tu cliques donc dessus (comme tu l'as fait pour la capture d'écran) puis tu cliques sur "Supprimer" et tu confirmes.
Ensuite tu vas dans l'onglet "SQL" et tu fais un copier-coller de ça (pour recréer la table) :

CREATE TABLE `dc_comment` (
  `comment_id` int(11) NOT NULL auto_increment,
  `post_id` int(11) NOT NULL default '0',
  `comment_dt` datetime default NULL,
  `comment_upddt` datetime default NULL,
  `comment_auteur` varchar(255) default NULL,
  `comment_email` varchar(255) default NULL,
  `comment_site` varchar(255) default NULL,
  `comment_content` longtext,
  `comment_ip` varchar(15) default NULL,
  `comment_pub` int(1) default '0',
  `comment_trackback` int(1) NOT NULL default '0',
  PRIMARY KEY  (`comment_id`),
  KEY `fk_comment_post` (`post_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Je suppose que ta base ne contient aucune donnée.

Hors ligne

#14 2008-10-30 15:42:08

Dzana
Membre
Inscription : 2007-07-22
Site Web

Re : MySQL : 1062 - Duplicate entry '0' for key 1

PS : quand je dis qu'il faut supprimer, je parle uniquement de la table dc_comment bien sûr

Hors ligne

#15 2008-10-30 16:11:35

Thomas Rudolf
Banni(e)
Inscription : 2007-03-31
Site Web

Re : MySQL : 1062 - Duplicate entry '0' for key 1

comme tu avais écris en #1 "Mon passage à dot2"

je croyais que c'était ton problème.


http://www.renovezmaintenant67.eu avec un blog DC2,
et  http://www.hotchkiss.eu avec un blog DC2

Hors ligne

#16 2008-10-30 16:47:41

thilde
Membre
Inscription : 2006-07-30

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Ah ok ok ok. Je vais au ciné et je vois ça en rentrant. Merci!

Hors ligne

#17 2008-10-30 22:55:36

thilde
Membre
Inscription : 2006-07-30

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Dzana> J'ai supprimé dc_comment. J'ai exécuté la reqête que tu m'as fournie. Les commentaires sont redevenus opérationnels.
Par contre, j'ai perdu tous les commentaires du blog entier. J'ai donc fait un dump de restauration qui provoque le même avertissement: MySQL : 1062 - Duplicate entry '0' for key 1

On tient le bon bout. Je vais juste vider les tables en trop pour voir ce que ça donne.

Hors ligne

#18 2008-10-30 23:04:42

thilde
Membre
Inscription : 2006-07-30

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Tout est ok. J'ai modifié à la main comment_id. De bigint(20) je l'ai mis en int(11) et ainsi de suite (ccomme sur ton modèle)
J'ai vérifié sur le blog. L'accès à ajouter un commentaire est revenu.

Merci Dzana.

Hors ligne

#19 2008-10-30 23:07:32

Kozlika
Modo dcTeam
Inscription : 2004-05-08
Site Web

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Youloulou ! Thilde, ayé tu es une vraie geekette, tu fais des trucs en direct sur la base ! ;-)


La documentation : http://doc.dotclear.net/2.0/fulltoc
Le module de recherche du forum : http://www.dotclear.net/forum/search.php ?

Hors ligne

#20 2008-10-30 23:30:25

thilde
Membre
Inscription : 2006-07-30

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Koz> Yes!!! :-D

Hors ligne

#21 2008-11-02 20:57:58

thilde
Membre
Inscription : 2006-07-30

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Ah ben mince... J'ai touché à rien de rien cette fois-ci. Depuis la dernière fois, deux notes ont été éditées sans soucis, avec commentaires  postés. Ce soir, je veux éditer une note et ce (gros mot censuré) de MySQL:1062-Duplicate entry '0' for key 1 qui revient (gros mot censuré). Le problème viendrait de Primary car les notes refusées affichent d'office 2534 commentaires et c'est comme par hasard la cardinalité de primary.

Sur phpmyadmin:


Index: Documentation Nom de l'index     Type     Cardinalité     Action     Champ
PRIMARY                     PRIMARY     2534      Modifier     Supprimer     comment_id
comment_auteur     INDEX               281      Modifier     Supprimer     comment_auteur
comment_dt             INDEX            2534      Modifier     Supprimer     comment_dt
comment_email             INDEX                 97      Modifier     Supprimer     comment_email
comment_id             INDEX            2534      Modifier     Supprimer     comment_id
comment_ip             INDEX              844      Modifier     Supprimer     comment_ip
comment_pub             INDEX                  1      Modifier     Supprimer     comment_pub
comment_site             INDEX             105      Modifier     Supprimer     comment_site
comment_trackback     INDEX                  1      Modifier     Supprimer     comment_trackback
comment_upddt             INDEX            2534      Modifier     Supprimer     comment_upddt
post_id                             INDEX              506      Modifier     Supprimer     post_id
fk_comment_post     INDEX              506      Modifier     Supprimer     post_id
Les index suivants semblent équivalents, vous devriez en éliminer un. post_id, fk_comment_post
Les index suivants semblent équivalents, vous devriez en éliminer un. PRIMARY, comment_id

Dans un premier temps, j'ai viré primary et fk_comment_post mais ça n'a rien changé. J'ai donc recréé ces deux index à l'identique.

Je sèche...

Hors ligne

#22 2008-11-02 21:28:23

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : MySQL : 1062 - Duplicate entry '0' for key 1

Peut-être qu'un petit repair des tables s'impose, non ? À faire avec phpMyAdmin


Dotclear addicted since 2004

Hors ligne

#23 2008-11-02 21:49:36

thilde
Membre
Inscription : 2006-07-30

Re : MySQL : 1062 - Duplicate entry '0' for key 1

J'ai fait déjà.

Vérifier:
Table     Op     Msg_type     Msg_text
lignevieblogue.dc_comment     check     status     OK

Analyser:
Textes complets
Table     Op     Msg_type     Msg_text
lignevieblogue.dc_comment     analyze     status     Table is already up to date

Réparer:
Textes complets
Table     Op     Msg_type     Msg_text
lignevieblogue.dc_comment     repair     status     OK

Optimiser:
Textes complets
Table     Op     Msg_type     Msg_text
lignevieblogue.dc_comment     optimize     status     OK

Hors ligne

#24 2008-11-02 21:55:30

Franck
Footer de merde
Lieu : Paris
Inscription : 2004-11-09
Site Web

Re : MySQL : 1062 - Duplicate entry '0' for key 1

J'ai signalé au sorciers, peut-être qu'ils auront une idée ?


Dotclear addicted since 2004

Hors ligne

#25 2008-11-02 21:56:45

thilde
Membre
Inscription : 2006-07-30

Re : MySQL : 1062 - Duplicate entry '0' for key 1

C'qui est incroyable, c'est que j'ai rien bidouillé. C'est arrivé comme ça, paf...

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map