Hallo
Ich habe ein Problem mit insert into bei einer mySQL DB
Ich habe zwei Tabellen.
Tbl_a ist Temporär, in ihr wird jede Stunde eine Logdatei eingelesen.
Diese Logdatei wird mittels Leerzeichen, in Felder unterteilt.
Von diesen Feldern brauche ich nur drei Bestimmte, die ich wiederum in Tabelle b einlese.
Bis hierhin ist alles Okay.
Mein Problem ist, wie kann ich insert into sagen, dass er aus Tabelle a nur die Werte rausliest die in Tabelle b noch nicht vorhanden sind. Nach einer ID kann ich nicht gehen, da die Logdatei regelmäßig neu angelegt wird und daher immer mal wieder bei id 1 anfängt.
Das einzige logische Feld ist für mich das Datum, das in UNIX Zeit angegeben ist.
Welches ich aber wiederum nicht als Primärschlüssel angeben kann, da es vorkommen kann das es doppelt ist, aber die anderen Felder andere Werte haben. Sprich ich habe kein eineindeutiges Feld.
PHP-Code:
use testen;
TRUNCATE TABLE tbl_a;
LOAD DATA INFILE 'lade_log_von_hier' INTO TABLE tbl_a FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\n';
insert into tbl_b (datum,ip,byte) select tbl_a.datum,tbl_a.ip,tbl_a.byte from tbl_a ;
Das sind die Anweisungen die ich bis jetzt habe, irgendwie brauche ich jetzt eine Möglichkeit die beiden Tabellen zu vergleichen und nur die Daten, die noch nicht vorhanden sind übernehmen.