|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Apr 2008
Messaggi: 59
|
[SQL] Spostare più record da una tabelle Mysql ad un 'altra
Ciao ragazzi volevo sapere come posso fare a spostare determinati record da una tabella mysql ad un'altra, possibilmente tramite interfaccia phpmyadmin oppure se volete scrivermi la sintassi sql appropriata da dare.
in poche parole dovrei copiare dei record presenti dentro una tabella bak_users nella tabella jos_users Scusate se non è la sezione giusta spostatemi |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Nov 2008
Messaggi: 12
|
Una strada è quella di usare il mysql query browser per effettuare una query in grado di estrarre i dati dalla tabella di origine.
Usare la funzione Export Result Set per esportarli in formato CSV. Caricarli nella nuova tabella usando il comando mysql LOAD DATA LOCAL INFILE 'c:/risultati.csv' INTO table nometabelladestinazione; |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Apr 2008
Messaggi: 59
|
ma scusate non ho capito bene cosa dovrei fare, purtroppo non sono un esperto....
allora il database è hostato in rete, i record sono si identificabili, nell'atto pratico io dovrei spostare i record dall "id" 63 al 76 da database.bak_users a database.jos_users |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
io farei cosi'
Codice:
INSERT INTO jos_users(col1, col2, col3, ..., colN) SELECT col1, col2, col3, ..., colN FROM bak_users WHERE id BETWEEN 63 and 76;
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Apr 2008
Messaggi: 59
|
Codice:
INSERT INTO jos_users SELECT * FROM bak_users WHERE id BETWEEN 63 and 76; ora l'esito della query è stato positivo,ho controllato e confrontato le tabelle e mi paiono uguali ora sia come contenuti e come struttura,ma in realtà il mio cms non lo vede, o pare non vederlo. le tabelle qui elencate contengono le informazioni sugli utenti registrati, mi serviva appunto copiare dei record da una all'altra per questo motivo, ma sul backend del sito non vengono visualizzati....mmm che ci sia qualcosa di sbagliato? |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Possono esserci parecchi motivi per cui un'applicazione pare non sentire un cambiamento manuale nel database.
Magari serve anche popolare qualche tabella di relazione (es. ruoli?) Oppure c'e' di mezzo una cache Oppure c'e' di mezzo un ORM che non gradisce che nessuno tocchi le tabelle a mano (tecnicamente "da sotto il c..o"), perche' mantiene alcuni dati relativi anche da qualche altra parte.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Apr 2008
Messaggi: 59
|
pensavo anch'io alla cache, ma ho visto che alla fine il problema risiedeva nel fatto che non era l'unico database da cambiare, ve ne erano altri due da aggiornare, grazie a tutti cmq.
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:06.