Toon posts:

Importeren datum notatie nl in mysql

Pagina: 1
Acties:

Verwijderd

Topicstarter
Kan iemand mij helpen hoe ik een bestand kan importeren in MySql waarbij "InDienst" als bron een nl datum heeft (d-m-yyyy). Importeren werkt, alleen MySql verwacht een Engelse notatie datum en krijg allemaal nullen als resultaat.

fotolijst.txt
"Doe_8707";8707;"John Doe";"Planning";"Planner";15-10-1984 0:00:00
"Veldkamp_8023";8023;"Bart Veldkamp";"Business Services";"Costing";3-9-1979 0:00:00

Mijn PHP code ziet er nu als volgt uit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
require('fotolijst/connect.php');
$sql = "TRUNCATE TABLE `fotolijst`"; 
if ($Resultaat = mysql_db_query ($Database, $sql, $Connect) ) {
    print ("Tabel fotolijst is nu leeg.<BR>\n");
} else {
    print mysql_error();
}
$sql = "LOAD DATA LOCAL INFILE 'd:\\\Medewerkers\\\Website\\\\xFotolijst.txt' 
INTO TABLE `fotolijst` 
FIELDS OPTIONALLY ENCLOSED BY '\"' TERMINATED BY ';' LINES TERMINATED BY '\r\n'
( 
`Fotonaam` , 
`Persnummer`, 
`Naam`, 
`Afdeling`, 
`Functie`, 
`InDienst')"; 
if ($Resultaat = mysql_db_query ($Database, $sql, $Connect) ) {
    print ("Tabel fotolijst geimporteerd!<BR>\n");
} else {
    print mysql_error();
}
mysql_close ($Connect);




Alvast bedankt!

[ Voor 8% gewijzigd door Verwijderd op 27-06-2007 11:17 ]


  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 00:18

Gonadan

Admin Beeld & Geluid, Harde Waren
Waarschijnlijk is het makkelijker om de regels dmv PHP in te lezen en dan de datum te parsen zodat je hem in een universele notatie kunt opslaan.
Een minder nette manier is het veld waarin je de datum opslaat te veranderen naar een tekst type. ;)

Probeer de
code:
1
[code=php]...[/code]

tags te gebruiken, dat maakt het allemaal wat leesbaarder. :)

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • Crayne
  • Registratie: Januari 2002
  • Laatst online: 17-03 13:41

Crayne

Have face, will travel

Beetje zoeken mag wel...

^^En met Gonadan...

[ Voor 7% gewijzigd door Crayne op 27-06-2007 11:12 ]

Mijn Library Thing catalogus


  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 00:18

Gonadan

Admin Beeld & Geluid, Harde Waren
Hier vind je ook meer informatie over het inladen van bestanden.

Bijvoorbeeld:
SQL:
1
2
3
4
LOAD DATA INFILE 'file.txt'
  INTO TABLE t1
  (column1, @var1)
  SET column2 = @var1/100;

Kan je gebruiken als
SQL:
1
2
3
4
LOAD DATA LOCAL INFILE 'd:\\\Medewerkers\\\Website\\\\xFotolijst.txt'
INTO TABLE `fotolijst` (user, id, naam, afdeling, @datum)
SET date = *INSERT_HIER_MYSQL_FUNCTIE_DIE_DATUM_CONVERTEERT*
FIELDS OPTIONALLY ENCLOSED BY '\"' TERMINATED BY ';' LINES TERMINATED BY '\r\n'

Even zoeken idd. ;)

Edit:
Voorbeeld mysql functie voor datum:
SQL:
1
STR_TO_DATE(@datum, '%d-%m-%Y %H:%i:%s')

Staat hierrr ;)

Edit2:
Even netjes jouw code gepakt. ;)
PHP:
1
2
3
4
5
6
7
8
9
10
$sql = "LOAD DATA LOCAL INFILE 'd:\\\Medewerkers\\\Website\\\\xFotolijst.txt' 
INTO TABLE `fotolijst` 
FIELDS OPTIONALLY ENCLOSED BY '\"' TERMINATED BY ';' LINES TERMINATED BY '\r\n'
( 
`Fotonaam` , 
`Persnummer`, 
`Naam`, 
`Afdeling`, 
`Functie`, 
@indienst) SET `indienst` = STR_TO_DATE(@indienst, '%d-%m-%Y %H:%i:%s')";

Een beetje mee spelen en debuggen dan moet je een heel eind komen. ;)

[ Voor 37% gewijzigd door Gonadan op 27-06-2007 11:25 ]

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Verwijderd

Topicstarter
@Gonadan
Thanks. Het werkt!!