Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> PHP /MySQL Προγραμματισμός

Πώς να απαλλαγείτε από Αντίγραφα σε MySQL

Αν το τραπέζι σας MySQL περιέχει εκατοντάδες ή χιλιάδες αρχεία , που δεν θέλουμε να δούμε το χέρι μέσα από τον καθένα να προσπαθήσει να εντοπίσει τις διπλότυπες εγγραφές . MySQL δεν έχει ένα μόνο ερώτημα που μπορείτε να χρησιμοποιήσετε για να καταργήσετε τις διπλότυπες εγγραφές σε έναν πίνακα , αλλά μπορείτε να χρησιμοποιήσετε ένα συνδυασμό των ερωτημάτων και να εκτελέσει μαζί για την εξάλειψη διπλασιάζεται σας . Ακόμα κι αν το τραπέζι σας χρησιμοποιεί ένα πρωτεύον κλειδί για να προσδιορίσει μοναδικά αρχεία , μπορείτε να αφαιρέσετε τα διπλότυπα με το να μην επιλέγοντας το πεδίο πρωτεύοντος κλειδιού σε ερωτήματα σας . Οδηγίες
Η 1

Σύνδεση με τη βάση δεδομένων MySQL σας και να αποκτήσετε πρόσβαση στο εργαλείο ερώτημα 2

Πληκτρολογήστε το ακόλουθο ερώτημα : .

CREATE TABLE ΠΡΟΣΩΡΙΝΗ temp SELECT DISTINCT col1 , Col2 , Col3 ΑΠΟ table_name GROUP BY col1 , Col2 , Col3 ΕΧΟΝΤΑΣ COUNT ( * ) > 1 ?

Αυτό δημιουργεί ένα προσωρινό πίνακα που ελέγχει τον πίνακα που παρέχονται από " table_name » και όταν διαπιστώσει μια διπλότυπη εγγραφή , εισάγει ότι εις διπλούν στον προσωρινό πίνακα , αλλά μόνο μία φορά . Για παράδειγμα , αν το " table_name " έχει τρεις εισόδους , " Jim ", " βαρίδι" και " Bob ", το " temp" τραπέζι θα έχει μόνο μία εγγραφή , "βαρίδι ". Αν το " col1 " λειτουργεί ως ένα πεδίο πρωτεύοντος κλειδιού στον πίνακα , δεν περιλαμβάνουν " col1 " στο ερώτημα και απλά επιλέξτε τις δύο άλλες στήλες
εικόνων 3

Πληκτρολογήστε το ακόλουθο ερώτημα : .

ΔΙΑΓΡΑΦΗ ΑΠΟ table_name πΟΥ ( col1 , Col2 , Col3 ) IN ( SELECT col1 , Col2 , Col3 ΑΠΟ temp ) ?

ελέγχους Αυτό το ερώτημα κάθε ρεκόρ " table_name » και διαγράφει όλες τις εγγραφές που έχουν διπλότυπα , συμπεριλαμβανομένου του πρωτοτύπου . Για παράδειγμα , εάν ο πίνακας έχει τρεις εισόδους , " Jim ", " βαρίδι" και " Bob ", το ερώτημα θα διαγράψει τόσο " Bob " αρχεία , αφήνοντας μόνο " Jim " σε " table_name . " Και πάλι , αφαιρεθούν οι αναφορές σε " col1 " στο ερώτημα αν « col1 " είναι το πεδίο πρωτεύοντος κλειδιού
Η 4

Πληκτρολογήστε το ακόλουθο ερώτημα : .

INSERT INTO table_name ( col1 , Col2 , Col3 ) SELECT col1 , Col2 , Col3 ΑΠΟ temp ? " . table_name "

Αυτό το ερώτημα ουσιαστικά αντιγράφει όλα τα αρχεία από τον προσωρινό πίνακα και εισάγει τους πίσω στο Αν σε αυτό το σημείο " table_name " έχει μόνο " Jim " και " temp" έχει μόνο " Bob ", μετά το ερώτημα , " table_name " θα έχει " Jim" και " Bob " αρχεία , ενώ το προσωρινό πίνακα παίρνει διαγραφεί . Θυμηθείτε να αφαιρέσετε " col1 " αναφορές , αν είναι ένα πρωτεύον κλειδί .
5

Εκτελέστε όλα τα ερωτήματα .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα