sql command μεταφορά δεδομένων από ένα πίνακα σε άλλο

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
Sfinaki
Δημοσιεύσεις: 541
Εγγραφή: 08 Ιουν 2003 22:41
Τοποθεσία: Ηράκλειο Κρήτη
Επικοινωνία:

sql command μεταφορά δεδομένων από ένα πίνακα σε άλλο

Δημοσίευση από Sfinaki » 05 Μαρ 2011 18:46

Καλησπέρα,

Θέλω να μεταφέρω δεδομένα από τον πίνακα videos τα videos που έχουν tags τη λέξη Αστεία στον πίνακα categories_videos name=funny
Στην ουσία δηλαδή δεν είναι μεταφορά, αλλά μαζική αλλαγή κατηγορίας βίντεο σε άλλη κατηγορία.
Θέλω δηλαδή μια εντολή που να κάνει change video categories τιμή 11 video with tags funny to video categories τιμή 12.

Εδώ έχω φώτο από τους πίνακες:

Εικόνα

Ευχαριστώ πολύ για την οποιαδήποτε βοήθεια.

alexd3499
Δημοσιεύσεις: 14
Εγγραφή: 10 Δεκ 2007 12:59
Τοποθεσία: Athens
Επικοινωνία:

sql command μεταφορά δεδομένων από ένα πίνακα σε άλλο

Δημοσίευση από alexd3499 » 06 Μαρ 2011 21:03

Αν έχω καταλάβει καλά τι ζητάς η παρακάτω εντολή θα σε καλύψει:

UPDATE categories_videos SET categories='12' WHERE tags='funny' AND categories='11';

Υποθέτοντας οτι στα πεδία categories και tags αποθηκεύεις ένα tag και μία κατηγορία ΜΟΝΟ αντιστοιχα

Άβαταρ μέλους
Sfinaki
Δημοσιεύσεις: 541
Εγγραφή: 08 Ιουν 2003 22:41
Τοποθεσία: Ηράκλειο Κρήτη
Επικοινωνία:

sql command μεταφορά δεδομένων από ένα πίνακα σε άλλο

Δημοσίευση από Sfinaki » 06 Μαρ 2011 21:45

Φίλε Alex,

Σε ευχαριστώ πάρα πολύ για την απάντησή σου.
Το έκανα, αλλά μου βγάζει σφάλμα: #1054 - Unknown column 'tags' in 'where clause' και ναι, θέλω να αποθηκεύσω ένα tag και μία κατηγορία.

alexd3499
Δημοσιεύσεις: 14
Εγγραφή: 10 Δεκ 2007 12:59
Τοποθεσία: Athens
Επικοινωνία:

sql command μεταφορά δεδομένων από ένα πίνακα σε άλλο

Δημοσίευση από alexd3499 » 06 Μαρ 2011 23:06

Περίεργο.. απο το screenshot του phpmyadmin που έχεις βάλει στο αρχικό post βλέπω οτι υπάρχει το column tags. Μήπως το όνομα του πίνακα δεν είναι categories_videos αλλα κάποιο άλλο? Μπόρεις να βάλεις screenshots αναλυτικά απο κάθε πίνακα μαζί με το όνομα του?

Άβαταρ μέλους
Sfinaki
Δημοσιεύσεις: 541
Εγγραφή: 08 Ιουν 2003 22:41
Τοποθεσία: Ηράκλειο Κρήτη
Επικοινωνία:

sql command μεταφορά δεδομένων από ένα πίνακα σε άλλο

Δημοσίευση από Sfinaki » 07 Μαρ 2011 00:27

Λοιπόν φίλε μου,

Η εντολή είναι έτσι:

UPDATE videos SET categories='12' WHERE tags='funny' AND categories='11'; γιατί στον πίνακα videos είναι τα tags, αλλά δεν μεταφέρει τίποτα. Η εντολή εκτελείται κανονικά, αλλά δεν γίνεται τίποτα (Επηρεάστηκε(αν) 0 γραμμή(ές). ( Το ερώτημα χρειάστηκε 0.0065 δευτερόλεπτα ) αυτό μου βγάζει.
Ίσως γιατί στο tags εκτός από το funny υπάρχουν κι άλλες λέξεις???
Πάντως από ότι κατάλαβα κοντά είσαι.
Μήπως υπάρχει άλλη εντολή επειδή υπάρχουν κι άλλες λέξεις στα tags?

Ευχαριστώ...

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6234
Εγγραφή: 30 Νοέμ 2004 03:09

sql command μεταφορά δεδομένων από ένα πίνακα σε άλλο

Δημοσίευση από fafos » 07 Μαρ 2011 00:48

Κώδικας: Επιλογή όλων

UPDATE videos SET categories='12' WHERE tags LIKE '%funny%' AND categories='11';
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

alexd3499
Δημοσιεύσεις: 14
Εγγραφή: 10 Δεκ 2007 12:59
Τοποθεσία: Athens
Επικοινωνία:

sql command μεταφορά δεδομένων από ένα πίνακα σε άλλο

Δημοσίευση από alexd3499 » 07 Μαρ 2011 09:50

alexd3499 έγραψε: Υποθέτοντας οτι στα πεδία categories και tags αποθηκεύεις ένα tag και μία κατηγορία ΜΟΝΟ αντιστοιχα
Αυτό υπέθεσα.. οτι στα tags αποθηκεύεις μια λέξη ΜΟΝΟ. Αλλα τώρα αλλάζει... Λογικά η απάντηση του fafos θα σε καλύψει.. :D

Άβαταρ μέλους
Sfinaki
Δημοσιεύσεις: 541
Εγγραφή: 08 Ιουν 2003 22:41
Τοποθεσία: Ηράκλειο Κρήτη
Επικοινωνία:

sql command μεταφορά δεδομένων από ένα πίνακα σε άλλο

Δημοσίευση από Sfinaki » 07 Μαρ 2011 10:12

Καλημέρα!

Σας ευχαριστώ πάρα πολύ!

Η εντολή του fafos δούλεψε μια χαρά!!!!

Σας ευχαριστώ πολύ και τους δυο σας! :kaloe:

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες