Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

[SQL] Importazione db

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

[SQL] Importazione db

Messaggioda yeah782000 » lun mag 08, 2006 8:32 pm

Devo importare un db di un forum phpbb2 tramite pannello phpmyadmin.
Il backup è stato effettuato direttamente dal pannello di controllo del forum.

Importando i dati però mi esce fuori questo bell'errore:

Codice: Seleziona tutto
Errore
query SQL:

INSERT INTO phpbb_search_wordlist( word_text, word_id, word_common )
VALUES (

'affinch觬 '464 ', '0 ');

Messaggio di MySQL: 

#1062 - Duplicate entry 'affinch' for key 1


Precisamente:

Codice: Seleziona tutto
Errore
query SQL: 

SELECT *
FROM
WHERE CONCAT_WS( "-", word_text, word_id, word_common ) = "affinch"
ORDER BY word_text, word_id, word_common

Messaggio di MySQL: 

#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 'WHERE CONCAT_WS( "-", word_text,  word_id,  word_common )


Su phpmyadmin il set di caratteri con cui è stato importato il db è utf-8 se può esservi d'aiuto.

Come risolvo ? [cry]
Non abbiate paura di accogliere Gesù nella vostra vita (Karol Wojtyla)
Avatar utente
yeah782000
Silver Member
Silver Member
 
Messaggi: 1385
Iscritto il: lun apr 19, 2004 10:06 am

Messaggioda Robby78 » mar mag 09, 2006 7:40 am

questa query è sbagliata:
Codice: Seleziona tutto
INSERT INTO phpbb_search_wordlist( word_text, word_id, word_common )
VALUES (

'affinch觬 '464 ', '0 ');


dovrebbe essere così:

questa query è sbagliata:
Codice: Seleziona tutto
INSERT INTO phpbb_search_wordlist( word_text, word_id, word_common )
VALUES (

'affinch觬',  '464 ', '0 ');


forse hai inserito un ? al posto di un '

e comunque ci sono dei caratteri di spazio sospetti ('464 ' anzichè '464' e '0 ' anzichè '0').

e poi se la seconda e la terza colonna sono di tipo numerico gli apici non ci vogliono
Povera patria! Schiacciata dagli abusi del potere di gente infame, che non sa cos'è il pudore - Franco Battiato
ricordati di pensare! - mia mamma
Avatar utente
Robby78
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3829
Iscritto il: gio gen 08, 2004 5:25 pm
Località: Emilia Romagna

Messaggioda yeah782000 » mar mag 09, 2006 10:54 am

Quel codice non l'ho scritto io ..... il backup del db l'ho fatto direttamente dal pannello di controllo del forum (phpbb2) che ha generato quel file sql ....
Solo che ora non riesco a ripristinarlo [cry+]
Non abbiate paura di accogliere Gesù nella vostra vita (Karol Wojtyla)
Avatar utente
yeah782000
Silver Member
Silver Member
 
Messaggi: 1385
Iscritto il: lun apr 19, 2004 10:06 am


Messaggioda Robby78 » mar mag 09, 2006 10:55 am

yeah782000 ha scritto:Quel codice non l'ho scritto io ..... il backup del db l'ho fatto direttamente dal pannello di controllo del forum (phpbb2) che ha generato quel file sql ....
Solo che ora non riesco a ripristinarlo [cry+]


finchè mi parli di istruzioni SQL ti posso aiutare, ma di forum, php ecc... proprio non so nulla... sorry
Povera patria! Schiacciata dagli abusi del potere di gente infame, che non sa cos'è il pudore - Franco Battiato
ricordati di pensare! - mia mamma
Avatar utente
Robby78
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3829
Iscritto il: gio gen 08, 2004 5:25 pm
Località: Emilia Romagna

Messaggioda yeah782000 » gio mag 11, 2006 10:58 am

Allora in pratica la tabella "incriminata" è strutturata come nell'immagine in allegato.
Non sono esperto di sql ma credo che con il campo word_text impostato come PRIMARY non accetti valori duplicati. Infatti se provo a modificarlo in FULL_TEXT l'import va a buon fine.

Se provo a rimodificarlo mi torna fuori l'errore. Quello che non capisco è : se il campo non può contenere valori duplicati perché facendo il backup da pannello del forum mi ha inserito duplicati [boxed]

Come posso risolvere ?
Non abbiate paura di accogliere Gesù nella vostra vita (Karol Wojtyla)
Avatar utente
yeah782000
Silver Member
Silver Member
 
Messaggi: 1385
Iscritto il: lun apr 19, 2004 10:06 am

Messaggioda DilanDog » gio mag 11, 2006 11:49 am

Spero che MySql sia un "pochino" più affidabile di Mdb (e ci vuol poco in effetti [:-D] ), comunque ti riporto ugualmente la mia esperienza appunto con i database di access. Mi è capitato più di una volta di avere un database apparentemente perfettamente funzionante, ma nel momento in cui tento di esportare o importare un'intera tabella ecco che esce l'errore di valore duplicato in una chiave primaria. Eppure tutto funzionava regolarmente! Andando a fare qualche verifica effettivamente trovo il record con il valore duplicato, lo rimuovo e alla fine l'import o export finalmente funziona.
Ripeto, pur non avendo esperienza diretta con MySql immagino che sia ben altra cosa, però.... [fischio]
Avatar utente
DilanDog
Senior Member
Senior Member
 
Messaggi: 208
Iscritto il: ven apr 15, 2005 9:13 am
Località: Milano

Messaggioda Robby78 » ven mag 12, 2006 7:53 am

può darsi che uno dei 2 metodi vengano rimuova gli spazi in coda; ad esempio:

"ciccio " è diverso da "ciccio "

ma se elimini gli spazi in coda diventa

"ciccio" = "ciccio"

e si crea la chiave duplicata
Povera patria! Schiacciata dagli abusi del potere di gente infame, che non sa cos'è il pudore - Franco Battiato
ricordati di pensare! - mia mamma
Avatar utente
Robby78
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3829
Iscritto il: gio gen 08, 2004 5:25 pm
Località: Emilia Romagna


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising