MySQL: Duplicate entry for key

Αλέξανδρος Διαμαντίδης adia at hellug.gr
Sat Sep 1 19:23:29 EEST 2007


* Giorgos Keramidas [2007-08-30 14:26]:
> ECHARSET: You are posting with the wrong charset.

Για την ακρίβεια, δεν είχε καθόλου charset, ούτε subject. Πιθανόν να
φταίει αυτό:

X-Mailer: AtMail Corp 3.61 - https://webbasedemail.com/

* Palias Panagiotis [2007-08-30 14:18]:
> Προσπαθώ να επαναφέρω τη βάση ένος forum. Έχω το dump αλλά όταν πάω να το
> επαναφέρω χτυπάει πρόβλημα σε κάποια γραμμή για 
> 
> MySQL: Duplicate entry '' for key 1
> 
> Από το ψάξιμο που έκανα είναι ένα bug που σχετίζεται με το ότι όταν το key σε
> κάποια καταχώριση είναι 0 και η βάση το κάνει 1 γιατί δεν έχει ενεργοποιημένο το
> no_auto_value_on_zero και χτυπάει γιατί η επόμενη τιμή είναι 1.
> Προτείνουν λύσεις να γίνει το dump με το mysqldump που έχει ενεργοποιημένη την
> παράμετρο, όμως η βάση δεν υπάρχει πια :'-(
> Προτείνουν κάποιες λύσεις όπως να κάνω -1 την τιμή, αλλά λόγω απειρίας με βάσεις
> δεν ξέρω πώς να το κάνω. Δοκίμασα να ξεκινήσω το daemon με
> --mode=no_auto_value_on_zero αλλά δεν άλλαξε κάτι.

Νομίζω το πρόβλημα είναι διαφορετικό... Στις οδηγίες της MySQL λέει ότι
η παράμετρος αυτή επηρεάζει μόνο την περίπτωση που προσπαθείς να
εισαγάγεις NULL ή 0.  Το μήνυμα λάθους όμως λέει για '' που είναι το
κενό string, δηλαδή όχι κάποιο απ' αυτά τα δυο. Φαντάζομαι ότι στο dump
υπάρχουν όντως κάποιες κενές τιμές στο πεδίο αυτό - μια ιδέα είναι να
ανοίξεις το αρχείο και να δεις τι ακριβώς περιέχει. Ακόμα και χωρίς να
ξέρεις SQL, λογικά θα καταλάβεις περίπου τι γίνεται, και μπορείς να
δοκιμάσεις να προσθέσεις κάποια τιμή στα πεδία αυτά με το χέρι.

Οι οδηγίες της MySQL μπορούν να βοηθήσουν - για παράδειγμα εδώ υπάρχει η
σύνταξη των εντολών που θα βρεις μέσα στο dump:

http://dev.mysql.com/doc/refman/5.1/en/sql-syntax.html

Αλέξανδρος




More information about the Linux-greek-users mailing list