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