Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/03/2012, à 19:33

Вiɑise

Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

Bonjour

Après l'avoir exporté depuis mon hébergement mutualisé chez ovh, je cherche à importer mon fichier biaisebdd.sql sur mon serveur. Mais quand j'exécute l'importation, je reçois :

requête SQL:

--
-- Contenu de la table `piwigo_caddie`
--
INSERT INTO `piwigo_caddie` ( `user_id` , `element_id` )
VALUES ( 1, 8 ) , ( 1, 9 ) , ( 1, 10 ) , ( 1, 11 ) , ( 1, 12 ) , ( 1, 13 ) ;

MySQL a répondu: Documentation
#1062 - Duplicate entry '1-8' for key 'PRIMARY' 

ou alors celle ci :

requête SQL:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="icon" href="./favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="./favicon.ico" type="image/x-icon" /> <title>phpMyAdmin</title> <link rel="stylesheet" type="text/css" href="phpmyadmin.css.php?server=322;token=297f91daf1ab7df09bbccec48c321f5f&amp;js_frame=right&amp;nocache=5308054760" /> <link rel="stylesheet" type="text/css" href="print.css" media="print" /> <link rel="stylesheet" type="text/css" href="./themes/original/jquery/jquery-ui-1.8.custom.css" /> <meta name="robots" content="noindex,nofollow" /> <script src="./js/cross_framing_protection.js?ts=1324498073" type="text/javascript"></script> <script src="./js/jquery/jquery-1.4.4.js?ts=132449807[...]

MySQL a répondu: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
    &quot;http://www.w' at line 1 

Je ne presque rien au SQL, qu'est-ce que cela signifie ? Comment réparer ?

Dernière modification par Вiɑise (Le 11/03/2012, à 19:37)

Hors ligne

#2 Le 11/03/2012, à 19:41

Вiɑise

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

Spitfire 95 a écrit :

Ta deuxième balise code ne contient aucune requete SQL, c'est du HTML pur et dur.
La première n'a pas d'erreur syntaxique, mais une erreur logique. Il te dit que des données ont déjà les index primaires que tu veux leur donner, alors qu'un index primaire est unique.
(pas de très grande certitude car je ne suis pas un pro du SQL mais ça doit être ça ^^')

Yep, mais je ne comprends quand même pas comment réparer ces erreurs.

Dernière modification par Вiɑise (Le 11/03/2012, à 19:41)

Hors ligne

#3 Le 11/03/2012, à 19:49

Spitfire 95

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

La deuxième requete tu ne la tape tout simplement pas : Du HTML dans un interpréteur SQL ça peut pas trop marcher ^^
La première, si c'est une restauration SQL, tu peux retirer les lignes actuelles avec les index en question sur le serveur, sinon sur la requete, retirer ( 1, 8 ) ,. En essayant sans je ne sais pas ce qu'il se passera, peut-être que les valeurs suivantes ont été prises en compte auquel cas une erreur similaire devrait apparaître après, peut-être pas, auquel cas si une erreur apparaît c'est que les mêmes index sont aussi sur le serveur SQL.


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#4 Le 11/03/2012, à 19:50

Вiɑise

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

En fait une partie de la BDD a bien été importée après le premier essai, c'est pour ça qu'il me dit que ça y est déjà. Mais la premère erreur, celle en html, persiste.

Désolée Spitfire 95  j'ai accidentellement viré ton message en voulant virer ceux du rageux qui spamme. Du coup je le laisse en quote.


Alors j'ouvre le fichier et je retire la partie en html ?

Dernière modification par Вiɑise (Le 11/03/2012, à 19:52)

Hors ligne

#5 Le 11/03/2012, à 19:58

Spitfire 95

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

Ah j'avais pas compris que c'était toi qui étais modo... Bon bah pas de jeux de mots douteux sur ce thread alors lol
Bon courage pour le spam, j'ai regardé ses messages, il a bien spamé avec ce message en boucle.

Pour l'erreur en HTML, tu es sûr qu'il faut envoyer ça en BDD ? Ç a fait un texte très long donc en champ text. Mais dans du HTML généralement il y a des " et des ' donc faut les échapper de telle sorte à ne pas couper les guillemets ou apostrophes de chaîne de SQL, à moins peut-être que les ` soient permis en SQL (comme en bash). Et justement, il n'y a rien pour délimiter la chaîne, ce qui m'incite à penser que ce code n'a pas été prévu pour rejoindre une base SQL, ou n'a pas été formaté pour. C'est dans un fichier de backup SQL ou entré comme ça en mysql ou phpmyadmin ?
En plus, il semblerait que tu envois à mysql la chaîne comme ça sans même lui dire où aller : quelle table et quel champ ?


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#6 Le 11/03/2012, à 20:16

sputnick

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

C'est un defaut de conception SQL.

Si tu met user_id en PRIMARY KEY, alors tu peux pas entrer plusieurs fois le meme id (plusieur fois 1 dans ton exemple).

Il te faut créer des tables supplémentaires.

Montre nous la sortie de

SHOW CREATE TABLE piwigo_caddie;

STP.

Dernière modification par sputnick (Le 11/03/2012, à 20:19)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#7 Le 11/03/2012, à 20:18

Вiɑise

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

Je ne comprends rien à tes explications. sad

J'utilise phpmyadmin, j'ai créé une table du même nom que celle que j'avais chez OVH : biaisebdd. Je clique sur cette base puis je fais "importer" et j'importe le fichier en .sql que j'ai exporté depuis ma base chez ovh. Les erreurs, je suppose donc qu'elles sont dans le fichier en .sql

Hors ligne

#8 Le 11/03/2012, à 20:18

Spitfire 95

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

sputnick a écrit :

C'est un defaut de conception SQL.

Pourquoi défaut ? Ce serait quand même dur de récupérer une ligne avec son identifiant s'il n'était pas unique, ou faudrait faire plein de WHERE tongue

J'en ai eu plein de problèmes avec les imports de BDD, souvent à cause de permissions d'ailleurs, mais de ce type non...
Bref, ça dépasse mes capacité sad

Dernière modification par Spitfire 95 (Le 11/03/2012, à 20:23)


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#9 Le 11/03/2012, à 20:19

Вiɑise

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

Вiɑise a écrit :

Je ne comprends rien à tes explications. sad

J'utilise phpmyadmin, j'ai créé une table du même nom que celle que j'avais chez OVH : biaisebdd. Je clique sur cette base puis je fais "importer" et j'importe le fichier en .sql que j'ai exporté depuis ma base chez ovh. Les erreurs, je suppose donc qu'elles sont dans le fichier en .sql


@ sputnik : tu veux dire que je dois créer une base pour le wordpress et une pour le piwigo ?

Hors ligne

#10 Le 11/03/2012, à 20:20

sputnick

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

Non, lis mon edit


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#11 Le 11/03/2012, à 20:20

Вiɑise

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

commande introuvable, où doisje taper cela ? je suis sur phpmyadmin, je ne peux pas entrer de commandes.

Bon j'ai trouvé. Ça renvoit

mysql> SHOW CREATE TABLE piwigo_caddie;
ERROR 1046 (3D000): No database selected
mysql> 

Dernière modification par Вiɑise (Le 11/03/2012, à 20:34)

Hors ligne

#12 Le 11/03/2012, à 20:42

sputnick

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

Il faut faire une

use database;

où database est le nom de la base.
La liste des bases dans

show databases;

On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#13 Le 11/03/2012, à 20:51

Вiɑise

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| biaisebdd          |
| mysql              |
+--------------------+
3 rows in set (0.00 sec)

mysql> use biaisebdd;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> 

Comment comment puis-je importer biaisebdd.sql dans la biaisebdd de mon nouveau serveur sans avoir à nouveau lerreur citée en deuxième ?

Dernière modification par Вiɑise (Le 11/03/2012, à 20:55)

Hors ligne

#14 Le 11/03/2012, à 20:55

sputnick

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

bravo, maintenant tu peux lancer le show create... wink

Edit: aussi explique nous mieux le contexte, est tu en train de créer un site que tu a conçu ?

Dernière modification par sputnick (Le 11/03/2012, à 20:58)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#15 Le 11/03/2012, à 20:57

Вiɑise

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

mysql> SHOW CREATE TABLE piwigo_caddie;
+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table         | Create Table                                                                                                                                                                                               |
+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| piwigo_caddie | CREATE TABLE `piwigo_caddie` (
  `user_id` smallint(5) NOT NULL DEFAULT '0',
  `element_id` mediumint(8) NOT NULL DEFAULT '0',
  PRIMARY KEY (`user_id`,`element_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Hors ligne

#16 Le 11/03/2012, à 21:01

sputnick

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

Ok, ca change TOUT !

La clef primaire est composée de deux éléments, donc ça va, pas d'erreur.

Si ya duplicate key, alors c'est que la table a été deja rempli avant par toi ou le site web pour les doublons.


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#17 Le 11/03/2012, à 21:04

Вiɑise

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

Oui c'est ce que je disais plus haut.

En fait j'ai d'abord eu l'erreur :

requête SQL:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="icon" href="./favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="./favicon.ico" type="image/x-icon" /> <title>phpMyAdmin</title> <link rel="stylesheet" type="text/css" href="phpmyadmin.css.php?server=322;token=297f91daf1ab7df09bbccec48c321f5f&amp;js_frame=right&amp;nocache=5308054760" /> <link rel="stylesheet" type="text/css" href="print.css" media="print" /> <link rel="stylesheet" type="text/css" href="./themes/original/jquery/jquery-ui-1.8.custom.css" /> <meta name="robots" content="noindex,nofollow" /> <script src="./js/cross_framing_protection.js?ts=1324498073" type="text/javascript"></script> <script src="./js/jquery/jquery-1.4.4.js?ts=132449807[...]

MySQL a répondu: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
    &quot;http://www.w' at line 1 

Et malgré cela 8 tables passaient quand même. Et du coup ensuite j'avais l'erreur

requête SQL:

--
-- Contenu de la table `piwigo_caddie`
--
INSERT INTO `piwigo_caddie` ( `user_id` , `element_id` )
VALUES ( 1, 8 ) , ( 1, 9 ) , ( 1, 10 ) , ( 1, 11 ) , ( 1, 12 ) , ( 1, 13 ) ;

MySQL a répondu: Documentation
#1062 - Duplicate entry '1-8' for key 'PRIMARY' 

.

Du coup j'ai viré les tables qui étaient passées pour qu'il ne compte pas de doublon. Mais la première erreur avec le code html persiste. Je ne comprends vraiment pas de quoi il s'agit ni comment la corriger.

Hors ligne

#18 Le 11/03/2012, à 21:09

sputnick

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

Вiɑise a écrit :

Oui c'est ce que je disais plus haut.

En fait j'ai d'abord eu l'erreur :

requête SQL:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="icon" href="./favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="./favicon.ico" type="image/x-icon" /> <title>phpMyAdmin</title> <link rel="stylesheet" type="text/css" href="phpmyadmin.css.php?server=322;token=297f91daf1ab7df09bbccec48c321f5f&amp;js_frame=right&amp;nocache=5308054760" /> <link rel="stylesheet" type="text/css" href="print.css" media="print" /> <link rel="stylesheet" type="text/css" href="./themes/original/jquery/jquery-ui-1.8.custom.css" /> <meta name="robots" content="noindex,nofollow" /> <script src="./js/cross_framing_protection.js?ts=1324498073" type="text/javascript"></script> <script src="./js/jquery/jquery-1.4.4.js?ts=132449807[...]

MySQL a répondu: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
    &quot;http://www.w' at line 1 

Ca c'est pas du SQL mais du HTML. Qu'essaye tu de faire avec ? On dirait que tu essaye d'importer un fichier HTML dans une BDD !!!


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#19 Le 11/03/2012, à 21:10

Вiɑise

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

Oui cest bien ça qui est étonnant. J'ai juste importé le fichier biaisebdd.sql depuis mon ancien hébergeur et j'essaie de l'importer sur mon nouveau serveur. Je ne comprends pas pourquoi il y a du html dans le tout.

Voici le début de ce fichier vu que ça signale un problème à la ligne 1… http://pastebin.com/5GCSFiHV

Dernière modification par Вiɑise (Le 11/03/2012, à 21:12)

Hors ligne

#20 Le 11/03/2012, à 21:14

sputnick

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

Montre nous les premières lignes de ton fichier .sql, mais je parie gros que ton export a foiré wink

Pour te montrer ce que je pense qu'il se passe :

$ cat>/tmp/test.sql
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="icon" href="./favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="./favicon.ico" type="image/x-icon" /> <title>phpMyAdmin</title> <link rel="stylesheet" type="text/css" href="phpmyadmin.css.php?server=322;token=297f91daf1ab7df09bbccec48c321f5f&amp;js_frame=right&amp;nocache=5308054760" /> <link rel="stylesheet" type="text/css" href="print.css" media="print" /> <link rel="stylesheet" type="text/css" href="./themes/original/jquery/jquery-ui-1.8.custom.css" /> <meta name="robots" content="noindex,nofollow" /> <script src="./js/cross_framing_protection.js?ts=1324498073" type="text/javascript"></script> <script src="./js/jquery/jquery-1.4.4.js?ts=132449807
$ file /tmp/test.sql
/tmp/test.sql: HTML document, ASCII text, with very long lines

On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#21 Le 11/03/2012, à 21:15

Вiɑise

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

C'est fait dans mon edit ^^

Hors ligne

#22 Le 11/03/2012, à 21:17

sputnick

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

Вiɑise a écrit :

Voici le début de ce fichier vu que ça signale un problème à la ligne 1… http://pastebin.com/5GCSFiHV

Ca c'est du vrai SQL, tu ne doit pas avoir de probleme si tu copie colle ça dans mysql. Ou mieux, tu cree un fichier sql avec le contenu, puis :

mysql nom_de_la_base < /chemin/vers/fichier.sql

On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#23 Le 11/03/2012, à 21:29

Вiɑise

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

mysql> mysql biaisebdd < /tmp/biaisebdd.sql
    -> 

Hors ligne

#24 Le 11/03/2012, à 21:31

Spitfire 95

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

Faut pas mettre un ; après ?


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#25 Le 11/03/2012, à 21:31

Вiɑise

Re : Importation SQL : erreur "1062 - Duplicate entry '1-8' for key "

On dirait, en tout y a erreur

mysql> mysql biaisebdd < /tmp/biaisebdd.sql
    -> mysql biaisebdd < /tmp/biaisebdd.sql;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql biaisebdd < /tmp/biaisebdd.sql
mysql biaisebdd < /tmp/biaisebdd.sql' at line 1
mysql> 

Dernière modification par Вiɑise (Le 11/03/2012, à 22:28)

Hors ligne