Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

load data infile
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Subiectul anterior :: Subiectul următor  
Autor Mesaj
pdaniel



Data înscrierii: 18/Ian/2005
Mesaje: 63

Trimis: Dum Sep 04, 2005 3:15 pm    Titlul subiectului: load data infile  

Am urmatorul fisier text:

(1 data1text data2text data3text ) si o tabela in baza de date (id data1 data2 data3). Ma rog, fisieru are mai multe inregitrari. Pe mine ma intereseaza sa bag informatia in tabela mea, si fiecare camd din fisier sa ionyre in campul corespunzator din baza. Am incercat sa folosesc dupa fiecare cuvant din fisieru text cate un \t si am dat comanda mysql astfle :

LOAD DATA INFILE 'data.txt'
INTO TABLE info
FIELDS TERMINATED BY '\t'
(id, data1, data2 data3);

fisieru meu ar fi aratat asa cu '\t' dupa fiecare cuvant (1\t data1text\t data2text\t datat3text\t). Comanda imi baga doar primu element adica 1 in baza. Ce pot face. Exista vre-o solutie? Si inca ceva, daca o linie din fisieru text se repeta de mai multe ori cum le pot baga pe fiecare fara sa-mi dea eroare duplicate key? Eu o sa am nevoie de fiecare bagat ca sa pot face niste calcule matematice dupa aia.

Multumesc.
Sus  
Pirahna



Data înscrierii: 22/Aug/2004
Mesaje: 4530
Locație: la birou

Trimis: Dum Sep 04, 2005 3:18 pm    Titlul subiectului:  

incearca fara spatiu

1\tdata1text\tdata2text\tdatat3text\t
Sus  
whooper



Data înscrierii: 05/Apr/2005
Mesaje: 727
Locație: Toronto ON

Trimis: Dum Sep 04, 2005 5:08 pm    Titlul subiectului:  

sau cu spatiu

LOAD DATA INFILE 'data.txt'
INTO TABLE info
FIELDS TERMINATED BY '\t '
(id, data1, data2 data3);

Daca iti trebuie cu duplicate, scoate cheia de pe campul respectiv, sau modifica tipul ei in asa fel incat sa poata fi admise duplicate ..
Sus  
pdaniel



Data înscrierii: 18/Ian/2005
Mesaje: 63

Trimis: Lun Sep 05, 2005 9:23 am    Titlul subiectului:  

NU merge nici fara spatiu nici cu spatiu. Fisierul meu arata asa :
12\t mm\t orange\t 23\n
23\t mm\tc onnex\t 28\n
Tabela are structura :

DROP TABLE IF EXISTS `info`;
CREATE TABLE IF NOT EXISTS `info` (
`id` int(11) NOT NULL auto_increment,
`data` varchar(255) NOT NULL default '',
`retea` varchar(255) NOT NULL default '',
`consum` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
Sus  
pdaniel



Data înscrierii: 18/Ian/2005
Mesaje: 63

Trimis: Lun Sep 05, 2005 9:53 am    Titlul subiectului:  

Pana la urma am reusit punand ca delimitator intre campuri virgula. A incercat cineva ca delimitator sa fie spatiu. A reusit ?
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community