..
Σε αυτό το σύντομο άρθρο θα δούμε πως είναι δυνατόν να κάνει ερωτήσεις για τη διαγραφή (DELETE) αξιοποίηση του δυναμικού του ενώνει, δηλαδή, τη δημιουργία σχέσεων μεταξύ πινάκων σε MySQL.
Στην πραγματικότητα έχουμε ήδη δει το πώς να χρησιμοποιήσετε το JOIN στην επιλογή των δεδομένων (SELECT) και στο στάδιο της ενημέρωσης (UPDATE), εδώ θα εκτείνεται μόνο αυτό που έχει ήδη αποκτηθεί.
Για να μάθετε καλύτερα τις δυνατότητες αυτής της τεχνικής θα πρέπει να εξετάσει, ως συνήθεια μας να αναλάβει μια συγκεκριμένη περίπτωση χρήσης.
Ας πούμε ότι πρέπει να εργαστούμε σε μια βάση δεδομένων από μια υποθετική αποθήκης αποτελείται από τα παρακάτω πίνακες (από τις οποίες θα περιγράψουμε τις δομές τους):
1) Ας υποθέσουμε ότι θέλετε να διαγράψετε ένα μόνο προϊόν που γνωρίζετε το αναγνωριστικό. Σε αυτή την περίπτωση μπορείτε να εκτελέσετε μόνο ένα ασήμαντο ερώτημα:
DELETE * ΑΠΟ προϊόντα όπου id = 1?2) Το ίδιο ερώτημα θα πρέπει να χρησιμοποιούνται αν θέλετε να διαγράψετε όλα τα προϊόντα που είναι συσκευασμένα σε ένα συγκεκριμένο ράφι:
DELETE * ΑΠΟ προϊόντα όπου ripiano_id = 1?3) Αλλά αν θέλετε να διαγράψετε όλα τα προϊόντα μέσα σε συγκεκριμένο ράφι;
Στην πραγματικότητα το πρόβλημα δεν είναι ανυπέρβλητο! με επιδεξιότητα λίγο »στο χειρισμό ερωτήματα, στην πραγματικότητα, το εμπόδιο είναι εύκολο να παρακαμφθούν! Πώς; με JOIN! Εδώ είναι ένα παράδειγμα:
DELETE προϊόντα .* Από τα προϊόντα στα ράφια INNER JOIN ON = prodotti.ripiano_id ripiani.id ΟΠΟΥ ripiani.scaffale_id = 1?Με αυτό τον τρόπο έχουμε δημιουργήσει μια σχέση μεταξύ «προϊόντα» δύο πίνακες και «ράφια» (με βάση το πεδίο της JOIN "ripiano_id" τραπέζι που ταιριάζει με το πρώτο αναγνωριστικό της δεύτερης), ώστε να αξιοποιηθεί το πεδίο "scaffale_id" αυτής της " τελευταία.
Με την πρώτη ματιά, ίσως, μπορεί να φαίνεται λίγο περίπλοκο ... είναι πραγματικά αρκετά απλή. Πρόκειται για τη δημιουργία ενός λογική σχέση μεταξύ δύο πίνακες, ώστε να χρησιμοποιούν τις πληροφορίες για να λειτουργήσει το πρώτο από το δεύτερο.
Σε περίπτωση που, εκτός από τα προϊόντα, θέλαμε να αρθούν όλα τα ράφι ράφια που αντιστοιχεί στη δεδομένη pututo χρησιμοποιούμε έναν ελαφρώς διαφορετικό ερώτημα:
DELETE προϊόντα .*, ράφια .* Από τα προϊόντα στα ράφια INNER JOIN ON = prodotti.ripiano_id ripiani.id ΟΠΟΥ ripiani.scaffale_id = 1?Στην ουσία αυτό είναι το ερώτημα θέα ακριβώς πάνω από τη μόνη διαφορά ότι η ματαίωση θα επηρεάσει όχι μόνο τα πεδία του πίνακα "προϊόντα":
προϊόντα .*αλλά και εκείνα του πίνακα "ράφι":
ράφια .*Για ερωτήσεις ή αιτήματα σας καλώ να υστέρων μας φόρουμ .
| |
MS Access (για προχωρημένους)
Μάθετε πώς να δημιουργήσετε και να διαχειριστείτε τις βάσεις δεδομένων γρήγορα και εύκολα. Ξεκινώντας από 29 €. |
| |
MySQL (Μάθημα)
Διαχείριση του open-source βάση δεδομένων. Από 39 €. |
| |
SQL και βάσης δεδομένων (Μάθημα)
Δημιουργία και διαχείριση των σχεσιακών βάσεων δεδομένων. Από 39 €. |