- Home
- Categorie
- Coding e Sistemistica
- PHP
- Unire piu' sql per farne uno solo
-
perche' inserisco l'intera tabella.. altrimenti come faccio ad inserire 300 records? se hai una dritta te ne sarei grato.
-
@alibi74 said:
perche' inserisco l'intera tabella.. altrimenti come faccio ad inserire 300 records? se hai una dritta te ne sarei grato.
Ancora non capisco il problema. Perchè inserire 300 record ti dovrebbe far sovrascrivere i dati?
Puoi anche inserire 1 miliardo di nuovi record in una tabella, i record precedenti non vengono toccati.
-
si il punto non era quello e' che inserire 300 records manualmente e' un lavoraccio.. era solo per quello.. ascolta se ti posto i 5 sql riesci a crearne uno solo? saresti cosi' gentile?
-
@alibi74 said:
si il punto non era quello e' che inserire 300 records manualmente e' un lavoraccio.. era solo per quello.. ascolta se ti posto i 5 sql riesci a crearne uno solo? saresti cosi' gentile?
Non ho capito però posta che forse riesco a risolvere.
-
ok te li preparo gentilissimo grazie
-
Ok questo e' il link per scaricare il file zippato, all'interno ci sono gli sql
Grazie anticipatamentealibi74
-
@alibi74 said:
Ok questo e' il link per scaricare il file zippato, all'interno ci sono gli sql
Grazie anticipatamentealibi74
Il problema è che in ogni file ricrei la tabelle, e quindi cancelli i record precedenti.Dovresti innanzitutto modificare i file in modo da creare le tabelle solo nel primo file (CREATE TABLE IF NOT EXISTS ecc...).
Poi c'è un altro problema: le query di inserimento sono query "corte", nel senso che hanno la lista dei valori da inserire senza i campi della tabella. In questo modo sei costretto ad inserire i valori di tutti i campi in sequenza, e quindi ti ritrovi con gli id dei record duplicati. Dovresti modificare le query, inserendo anche i nomi dei campi, escludendo il campo id che immagino sia autoincrementante.
Qualcosa del genere:
INSERT INTO nometabella (nomecampoNONID, nomecampoNONID, nomecampoNONID) VALUES ('valore', 'valore', 'valore')
In questo modo non inserisci l'id che viene creato automaticamente dal DBMS.
-
Infatti era quello che mi succedeva vabbe' dai.. grazie tante spero di trovare una soluzione alternativa.. magari con un xml.
Ciao grazie ancora.
alibi74
-
@alibi74 said:
Infatti era quello che mi succedeva vabbe' dai.. grazie tante spero di trovare una soluzione alternativa.. magari con un xml.
Ciao grazie ancora.
alibi74
Hai 2 soluzioni:- modifichi a mano il file
- esporti i dati in maniera diversa (usi phpmyadmin?)
-
no ho un componente per i backup.. pero' stavo pensando.. che se li salvo facendogli completare gli insert.. le query si allungano e poi comunque i campi da inserire sono 5 non sono molti.. comunque dimmi se posso salvare in altri modi cosi' almeno ci provo
-
@alibi74 said:
no ho un componente per i backup.. pero' stavo pensando.. che se li salvo facendogli completare gli insert.. le query si allungano e poi comunque i campi da inserire sono 5 non sono molti.. comunque dimmi se posso salvare in altri modi cosi' almeno ci provo
Dovresti provare a salvare con le insert complete, e se puoi scegliere quali campi dovresti selezionare tutti i campi tranne il campo id.
Inoltre puoi effettuare il backup solo dei dati e non delle strutture delle tabelle.
-
Come faccio a fare il bakup solo dei dati? me lo spieghi? non sono molto pratico
-
@alibi74 said:
Come faccio a fare il bakup solo dei dati? me lo spieghi? non sono molto pratico
Non so cosa usi per effettuare il backup.
-
vabbe' lo posso fare da phpmyadmin. :bho:
-
@alibi74 said:
vabbe' lo posso fare da phpmyadmin. :bho:
Ma devi inserire i dati in un server diverso da quello da cui li prelevi?
-
no nello stesso server.. in un sottodominio.
-
@alibi74 said:
no nello stesso server.. in un sottodominio.
In questo caso potresti creare una query ad hoc.
Qualcosa del tipo:INSERT INTO nomedb.tabella (listacampi_senza_il_campo_id) SELECT (stessa_lista_campi) FROM nomedb.tabella
In questo modo modificando la SELECT prelevi i dati da tabelle diverse di database diversi (sempre però sullo stesso server) e inserirli nella tabella di un altro database.