Προς το περιεχόμενο

MySQL » Αυτόματη ανανέωση 2 πινάκων


Flavios

Προτεινόμενες αναρτήσεις

Δημοσ.

Γειά σε όλους.

 

Έχω εγκαταστήσει 2 ίδιες εφαρμογές που η κάθεμιά τους απαιτεί από μία mysql database. Kai oi 2 db περιέχουν από έναν πίνακα (ολόϊδιο) με user stats (name, nick name, password, κτλπ).

 

Μήπως ξέρεις κανείς να με βοήθησει στο πώς μπορεί ο ένας πίνακας να ενημερώνει αυτόματα τον άλλον χωρίς να το κάνω manually (μέσα από το PhpMyAdmin), έτσι ώστε όταν ένας χρήστης εγγράφεται στην μία εφαρμογή να μπορεί να βλέπει και αρχεία της άλλης χωρίς να ξανακάνει νέα εγγραφή;

Δημοσ.

Και γιατί δεν τις βάζεις και τις δυο να χρησιμοποιούν τον ίδιο (ένα) πίνακα αντί να κρατάς δυο και να τους συγχρονίζεις;

Δημοσ.

Έτσι όπως το λές έπρεπε να γίνει, αλλά η 2η εγκατάσταση (αυτόματη, μέσω script) έγινε μετά αυτή της 1ης εφαρμογής (οπότε ή θα έσβηνε όλες τις παλιές εγγραφές, ή δεν θα έκανε εγκτάσταση καθόλου).

 

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

 

Σ'ευχαριστώ!

Δημοσ.

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

 

Σε τι γλώσσα είναι οι εφαρμογές; Αν είναι σε οποιαδήποτε interpreted γλώσσα, π.χ PHP, Perl, δε βλέπω γιατί δεν μπορείς και εκ των υστέρων να τις κάνεις να χρησιμοποιούν τον ίδιο πίνακα. Τους συγχρονίζεις με το χέρι μια φορά και μετά τις βάζεις να χρησιμοποιούν τον ίδιο.

Δημοσ.
Σε τι γλώσσα είναι οι εφαρμογές; Αν είναι σε οποιαδήποτε interpreted γλώσσα, π.χ PHP, Perl, δε βλέπω γιατί δεν μπορείς και εκ των υστέρων να τις κάνεις να χρησιμοποιούν τον ίδιο πίνακα. Τους συγχρονίζεις με το χέρι μια φορά και μετά τις βάζεις να χρησιμοποιούν τον ίδιο.

 

 

Είναι σε php. Πώς τους συγχρονίζω; Θυμάσαι την εντολή;

Δημοσ.

Φίλε μου, αυτό εξαρτάται σε τι φάση είναι οι πίνακες τώρα, γι' αυτό σου είπα με το χέρι. Εσύ θέλεις ένα πίνακα που να έχει όλους τους χρήστες. Το πιθανότερο είναι ότι το εξής ερώτημα θα σου δώσει όλες τις εγγραφές που θέλεις.

 

(SELECT * FROM table1)

UNION

(SELECT * FROM table2)

 

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

Δημοσ.

Μεγάλο το πρόβλημα!

Πρέπει να το κάνω σε πολλούς πίνακες: users, sessions, inbox, config .... .... ....

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...