![]() |
mysql INSERT INTO / Duplicates
Hallo
Ich importiere in eine Tabelle die Daten einer Txt Datei. Wie kann ich am einfachsten überprüfen, ob ein User schon in der Tabelle existiert und wenn das der Fall ist, nicht nochmals hinzufügen?
Code:
$db = mysql_connect($sql_db,$sql_id,$sql_pwd);
$db_ok = mysql_select_db($dbName,$db); // Text Datei öffnen $fp = fopen($feedfile, 'r'); while($row = fgets($fp, 1024)) { $row = explode(',', str_replace('"', '', $row)); $user = $row[0]; $password = $row[1]; $email = $row[2]; // hier überprüfen, ob der $user schon in der Tabelle ist... $sql = "INSERT INTO users2 (user, password, email) VALUES ('$user','$password','$email')"; mysql_query($sql) or die(mysql_error()); flush(); } |
Re: mysql INSERT INTO / Duplicates
2 Möglichkeiten:
Vor jedem Insert in die Tabelle ein Select darauf ausführen und nach dem User suchen. oder wenn die Textdatei bereits sortiert nach name vorliegt, so kannst du den jeweils letzten eingelesenen Datensatz im Speicher halten und dann jeweils prüfen, ob der neu eingelesene mit dem im Speicher vorliegenden übereinstimmt. Letzte Variante ist wohl effektiver da Du dir die Selects sparst. Dafür muss die Text Datei aber sortiert vorliegen. Wenn es sich aber eh nur um 1000 Datensätze handelt, so würd ich erste Variante wählen, da wohl am schnellsten implementiert. |
Re: mysql INSERT INTO / Duplicates
Zitat:
Werde mich wohl für die erste Variante entscheiden. Es werden nur ca. 100 - 200 Datensätze sein. |
Re: mysql INSERT INTO / Duplicates
|
Re: mysql INSERT INTO / Duplicates
Zitat:
Habe auch von dem "ON DUPLICATE" gelesen. Mir ist aber nicht ganz klar, wie ich das anwenden muss. d.h eine Ueberpruefung auf $user.. |
Re: mysql INSERT INTO / Duplicates
Hallo Thomas,
sobald du ein UNIQUE Constraint auf der Spalte USER eingerichtet hast, führt der Server die ON DUPLICATE Klausel selbsttätig aus - wenn deine Server-Version diese Syntax bereits unterstützt. Freundliche Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz