ΥπολογιστέςΒάσεις Δεδομένων

"Παγίδες" DML-Team Ενημέρωση MySQL

Κάθε προγραμματιστής, ο οποίος είχε να συνεργαστεί με βάσεις δεδομένων, αντιμέτωποι με τις DML-φορείς (μετάφραση από τα αγγλικά - .. «Data Manipulation Language»), όπως Επιλογή, Εισαγωγή, Διαγραφή και Ενημέρωση. MySQL μεταφορών χρησιμοποιεί επίσης το οπλοστάσιο του όλες τις παραπάνω εντολές.

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

Εν συντομία για DML-δηλώσεις (Insert)

Πριν προχωρήσουμε περαιτέρω, θα πρέπει και πάλι να υπενθυμίσει περισσότερες λεπτομέρειες σχετικά με τον σκοπό της κάθε λειτουργίας. Θα έχουμε δύο φορείς που ενδιαφέρονται για περισσότερες λεπτομέρειες: Εισαγωγή και Ενημέρωση, γιατί αυτό εξαρτάται από τους αντλούν τα κύρια προβλήματα στην επεξεργασία μεγάλου όγκου δεδομένων.

Θα πρέπει να ξεκινήσετε με το Εισαγωγή εντολή και, στη συνέχεια σταδιακά να κινηθεί προς την ενημέρωση. σύστημα MySQL, όπως και οποιαδήποτε άλλη σύγχρονη βάση δεδομένων, χρησιμοποιήστε τη λειτουργία Insert για να προσθέσετε νέες εγγραφές σε υπάρχοντες πίνακες της βάσης δεδομένων. Η σύνταξη αυτής της λειτουργίας είναι πολύ απλή και άμεση. Περιέχει μια λίστα των πεδίων που θα γίνει με τις τιμές, τον προορισμό - το όνομα του πίνακα - και αμέσως εισήγαγε μια λίστα των στοιχείων. Κάθε φορά που θα εκτελέσετε τη βάση δεδομένων Εισαγωγή θα ενημερώνεται με τις νέες τιμές.

δήλωση Ενημέρωση

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

Ενημέρωση - DML-χειριστής μπορεί να εφαρμοστεί για την επίλυση αυτού του προβλήματος. MySQL- server, που λειτουργούν με μεγάλο αριθμό συμμετοχών, με τη βοήθεια μιας δήλωσης ενημέρωση, να εκτελέσει την απαιτούμενη ερώτημα και να επιλύσει το πρόβλημα. Αλλά μερικές φορές συμβαίνουν κατά τη διάρκεια της ενημέρωσης δεν είναι αρκετά σαφής και είναι δύσκολο να εξηγήσει την πολυπλοκότητα. Αυτό είναι που προκαλεί τη δυσκολία των εγγραφών ενημέρωση, θα συζητηθεί περαιτέρω.

Ποια λίγα έχουν ειπωθεί στη θεωρία ...

Ενημέρωση ομάδας, όπως προαναφέρθηκε, χρησιμοποιείται για την ενημέρωση των υφιστάμενων εγγραφών στον πίνακα. Αλλά στην πράξη, οι πελάτες πρόσβαση στους εξυπηρετητές βάσης δεδομένων δεν είναι πάντα γνωστό, υπάρχει ένα συγκεκριμένο σύνολο δεδομένων σε πίνακες ή όχι. Προκαταρκτική ελέγξετε τη διαθεσιμότητα των δεδομένων στη βάση δεδομένων για τη μετέπειτα ενημέρωση των αποτελεσμάτων σε χρονοβόρες και των αποβλήτων των δυνατοτήτων του server.

Για να αποφευχθεί αυτό, σε μια ειδική δομή της βάσης δεδομένων MySQL - Εισαγωγή * Ενημέρωση, στην οποία το ένθετο ή ενημέρωση μπορεί να γίνει ανεξάρτητα από το άλλο. Αυτό είναι όταν ο πίνακας έχει μια καταχώρηση για μια συγκεκριμένη κατάσταση, θα πρέπει να ενημερωθεί. Αν τα δεδομένα δεν θα βρεθούν οι προϋποθέσεις που θεωρούνται, MySQL-server είναι σε θέση να εκτελέσει το αίτημα προσθήκες δεδομένων.

Ενημέρωση δεδομένων όταν υπάρχουν διπλότυπα

Ένα σημαντικό στοιχείο αυτής της Εισαγωγή - αίτημα προς το σύστημα διαχείρισης βάσεων δεδομένων MySQL - «Από τα διπλά κλειδιά Ενημέρωση» πρόθεμα. Η πλήρης σύνταξη του ερωτήματος έχει ως εξής: «εισάγετε στο test_table (employer_id, όνομα) αξίες ( 1,“Abramov”) για τα διπλά βασικά ενημέρωση LAST_MODIFIED = NOW ()? ».

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

Στην πραγματικότητα τα προβλήματα ...

Λαμβάνοντας υπόψη το παραπάνω παράδειγμα της δράσης του προσωπικού εγγραφής στην είσοδο, καθώς το πρόβλημα είναι η χρήση samouvelichivayuschihsya (αυτόματη _ αύξηση) πεδία, τα οποία συνήθως χρησιμοποιούνται για την πλήρωση των πρωτογενών βασικές αξίες (πρωτεύον κλειδί _). Εάν χρησιμοποιείτε την εντολή MySQL Update στο σχεδιασμό με Εισαγωγή auto _ αύξηση, το πεδίο αυξάνεται συνεχώς.

Ομοίως, τα πάντα συμβαίνει όταν χρησιμοποιείτε μια κατασκευή αντικατάστασης στην περίπτωση των διπλών ανίχνευσης. «Αυτόματη αύξηση» τιμή αυξάνεται ακόμη και στην περίπτωση όπου δεν απαιτείται. Εξαιτίας αυτού, τα προβλήματα προκύπτουν τιμές μπάλα υπερχείλιση ή περιοχές, τα οποία στη συνέχεια οδηγεί σε δυσλειτουργία των συστημάτων διαχείρισης βάσεων δεδομένων.

Το πιο πιθανό είναι το πρόβλημα

Περιγράφει το πρόβλημα πρέπει να θεωρηθεί Web-προγραμματιστές, καθώς είναι πιο συχνή σε συστήματα πολλών χρηστών (ιστοσελίδες, portals, και ούτω καθεξής. Π), Όταν το σύστημα εκτελείται ένα μεγάλο αριθμό διαδικασιών Εισαγωγή και Ενημέρωση MySQL.

PHP - έκκληση προς τη βάση πολύ συχνά εκτελούνται. Ως εκ τούτου, για να επιτευχθεί η μέγιστη περιθώρια, που ορίζεται ως AUTO_INCREMENT, συμβαίνει γρήγορα, και στην ανάλυση των δυσκολιών που αντιμετωπίζουν για τη δημιουργία τους λόγους που απλά δεν θα λειτουργήσει.

Ως εκ τούτου, οι προγραμματιστές ενθαρρύνονται να είναι προσεκτικοί όσον αφορά τη χρήση του σχεδιασμού για τα διπλά κλειδί στην ενημέρωση εντολή mysql. επιλέξτε - ερωτήματα κατά την πρόσβαση στο διακομιστή της βάσης δεδομένων θα λειτουργεί χωρίς σφάλματα, αλλά η προσθήκη νέων εγγραφών στη βάση δεδομένων είναι γεμάτη με δυσάρεστες καταστάσεις στο μέλλον να οδηγήσει σε σοβαρά προβλήματα. Εναλλακτικά, συνιστάται για τους τομείς αυτόματη αύξηση αρχικά ελέγξτε για τα αρχεία τους, και στη συνέχεια να τους κρατήσει ενημέρωση.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 el.unansea.com. Theme powered by WordPress.