# Daten einfügen über sql-Datei



## campari (8. Januar 2007)

Hab irgendwie nicht die richtigen Suchbegriffe, zumindest werd ich nicht fündig.

Wie geht das, über eine upgeloadete Datei in einer mysql-Datenbank Tabellen mit Daten zu füttern.
Also bei phpmyadmin gibts ja sowas z.B.

Angenommen ich hab die Datei über <input type=\"file\" name=\"sql_datei\"> hochgeladen und die liegt nun im Verzeichnis $dir.
Wie gehts nun weiter?

Hoffe, ist klar, was ich meine. Mir fehlen da grad irgendwie die Termini.


Danke
campari


----------



## Flex (9. Januar 2007)

http://dev.mysql.com/doc/refman/5.0/en/load-data.html

Das sollte dir helfen.


----------



## campari (9. Januar 2007)

The used command is not allowed with this MySQL version.

Auf dem Server l&auml;ft Version 4.1.

Noch ne andere Idee?

So wie ich das sehe, kann man mit dem Befehl ja eine Tabelle geziehlt füttern.
Die Datei soll aber mehrere Tabellen mit einem Schwung füllen.
Gibts da einen Befehl?


Danke


----------



## campari (9. Januar 2007)

Habs jetzt mal testweise auf dem Server ausgeführt wo auch die DB liegt.

Es werden die Anzahl Spalten eingefügt, allerdings mit fortlaufender ID und ohne Inhalt in den einzelnen Feldern.


```
$sql = "LOAD DATA LOCAL INFILE '$sqlfile' REPLACE INTO TABLE $tbdat";
		mysql_query($sql);
		echo mysql_error();
```

So sieht das sql-File aus:


```
INSERT INTO `project_dat` VALUES (1, 0, 100, 1, '203.24', 'ja', 'a', '7', '22',  '3', 'q');
```


----------



## Flex (9. Januar 2007)

Versuch mal auch die Columns anzugeben, sprich:

```
INSERT INTO tabelle (col1, col2, col3) VALUES(val1, val2, val3)
```


----------



## campari (9. Januar 2007)

Ändert nichts.
Die Zeile so in phpmyadmin eingetragen funktioniert einwandfrei.
Aber über Datei, die auf dem Server liegt, bleiben die Zellen leer.


----------

