nach CSV-Import bestimmte Spalten updaten

nach CSV-Import bestimmte Spalten updaten

am 27.10.2004 22:36:23 von Alexander Fischer

Hallo, ich habe folgende Frage:
ich möchte nach dem Einspielen einer .csv-Datei in eine MYSQL-Datenbank den
Wert einer bestimmten Spalte (Datum), die in der .CSV-Datei nicht enthalten
ist und den Wert Null zugewiesen bekommt, per PHP-script "updaten".

$result=mysql_query("UPDATE tabelle SET datum='$datum'");

funktioniert, jedoch werden natürlich alle vorhandenen Zeilen der Tabelle
verändert und nicht nur die neu eingelesenen (durch den .CSV-Import). Wie
kann man erreichen, das nur die neuen Datensätze mit dem Wert $datum
versehen werden?
Danke
Alexander

Re: nach CSV-Import bestimmte Spalten updaten

am 27.10.2004 23:00:28 von Christoph Hermann

Alexander Fischer schrieb:

Moin,

> Hallo, ich habe folgende Frage:
> ich möchte nach dem Einspielen einer .csv-Datei in eine MYSQL-Datenbank
> den Wert einer bestimmten Spalte (Datum), die in der .CSV-Datei nicht
> enthalten ist und den Wert Null zugewiesen bekommt, per PHP-script
> "updaten".
>
> $result=mysql_query("UPDATE tabelle SET datum='$datum'");
>
> funktioniert, jedoch werden natürlich alle vorhandenen Zeilen der Tabelle
> verändert und nicht nur die neu eingelesenen (durch den .CSV-Import). Wie
> kann man erreichen, das nur die neuen Datensätze mit dem Wert $datum
> versehen werden?

WHERE DATUM IS NULL

Alternativ vor dem Einlesen die id holen (SELECT MAX(ID) FROM...) und dann
WHERE id > $id.

HTH
Christoph

Re: nach CSV-Import bestimmte Spalten updaten

am 28.10.2004 15:40:17 von Alexander Fischer

Danke,
WHERE datum = '0000-00-00'
erzielte den gewünschten Effekt.

Noch eine Frage:

in meinem LOAD Data Infile local .... - Befehl bewirkt der Zusatz : IGNORE 1
LINES, das nichts mehr importiert wird.
Ich möchte aber, das die erste Zeile nicht übernommen wird.
Wird dieser Zusatz von der MYSQL-Version (4.0.20) nicht unterstützt?
Danke

Alexander


"Christoph Hermann" <2004-10@guschtel.de> schrieb im Newsbeitrag
news:clp29c$14o0$1@ariadne.rz.tu-clausthal.de...
> Alexander Fischer schrieb:
>
> Moin,
>
>> Hallo, ich habe folgende Frage:
>> ich möchte nach dem Einspielen einer .csv-Datei in eine MYSQL-Datenbank
>> den Wert einer bestimmten Spalte (Datum), die in der .CSV-Datei nicht
>> enthalten ist und den Wert Null zugewiesen bekommt, per PHP-script
>> "updaten".
>>
>> $result=mysql_query("UPDATE tabelle SET datum='$datum'");
>>
>> funktioniert, jedoch werden natürlich alle vorhandenen Zeilen der Tabelle
>> verändert und nicht nur die neu eingelesenen (durch den .CSV-Import). Wie
>> kann man erreichen, das nur die neuen Datensätze mit dem Wert $datum
>> versehen werden?
>
> WHERE DATUM IS NULL
>
> Alternativ vor dem Einlesen die id holen (SELECT MAX(ID) FROM...) und dann
> WHERE id > $id.
>
> HTH
> Christoph