Die gebräuchlichste Methode besteht darin, einen Primärschlüssel oder einen eindeutigen Index für das Feld festzulegen. Beim Einfügen doppelter Daten wird ein Fehler ausgegeben und das Programm beendet, was jedoch bei der nachfolgenden Verarbeitung zu Problemen führt. Daher ist für die Einfügeanweisung eine spezielle Verarbeitung erforderlich, um Ausnahmen so weit wie möglich zu vermeiden oder zu ignorieren. Ich werde es unten kurz vorstellen. Interessierte Freunde können es ausprobieren: Zur Vereinfachung der Demonstration habe ich eine Benutzertesttabelle mit vier Feldern erstellt: ID, Benutzername, Geschlecht und Adresse. Der Primärschlüssel ist ID (automatische Inkrementierung) und für das Feld Benutzername wird ein eindeutiger Index festgelegt: 01 Ignorieren einfügen inDas heißt, wenn Daten eingefügt werden, wird das Einfügen ignoriert, wenn die Daten vorhanden sind. Voraussetzung ist, dass das eingefügte Datenfeld einen Primärschlüssel oder einen eindeutigen Indexsatz hat. Die Test-SQL-Anweisung lautet wie folgt. Beim Einfügen dieser Daten sucht die MySQL-Datenbank zuerst nach vorhandenen Daten (also dem Index idx_username). Wenn diese vorhanden sind, wird das Einfügen ignoriert. Wenn sie nicht vorhanden sind, werden die Daten normal eingefügt: 02 bei Nachschlüssel-UpdateDas heißt, wenn Daten eingefügt werden und die Daten vorhanden sind, wird ein Aktualisierungsvorgang ausgeführt. Die Voraussetzung ist die gleiche wie oben, und das eingefügte Datenfeld wird ebenfalls mit einem Primärschlüssel oder einem eindeutigen Index festgelegt. Die Test-SQL-Anweisung lautet wie folgt. Beim Einfügen dieses Datensatzes ruft die MySQL-Datenbank zuerst die vorhandenen Daten ab (Index idx_username). Wenn sie vorhanden sind, wird ein Aktualisierungsvorgang ausgeführt. Wenn sie nicht vorhanden sind, werden sie direkt eingefügt: 03 ersetzen durchDas heißt, wenn Sie Daten einfügen, löschen Sie diese, wenn sie vorhanden sind, und fügen Sie sie dann ein. Die Voraussetzung ist die gleiche wie oben. Das eingefügte Datenfeld muss den Primärschlüssel oder den eindeutigen Index festlegen. Die Test-SQL-Anweisung lautet wie folgt. Beim Einfügen dieses Datensatzes ruft die MySQL-Datenbank zuerst die vorhandenen Daten ab (Index idx_username). Wenn sie vorhanden sind, löschen Sie zuerst die alten Daten und fügen Sie sie dann ein. Wenn sie nicht vorhanden sind, fügen Sie sie direkt ein: 04 einfügen, falls nicht vorhandenDas heißt, einfügen in ... auswählen ..., wo nicht vorhanden .... Diese Methode eignet sich zum Einfügen von Datenfeldern, die keinen Primärschlüssel oder eindeutigen Index haben. Stellen Sie beim Einfügen eines Datenelements zunächst fest, ob die Daten in der MySQL-Datenbank vorhanden sind. Wenn sie nicht vorhanden sind, fügen Sie sie normal ein. Wenn sie vorhanden sind, ignorieren Sie sie: Im Moment werde ich diese 4 Möglichkeiten zum Umgang mit doppelten Daten in MySQL vorstellen. Die ersten drei Methoden eignen sich für Felder mit Primärschlüsseln oder eindeutigen Indizes, und die letzte Methode unterliegt keinen derartigen Einschränkungen. Solange Sie mit dem Verwendungsprozess vertraut sind, werden Sie ihn schnell beherrschen. Es gibt auch relevante Materialien und Tutorials im Internet, die ausführlich vorgestellt werden. Wenn Sie interessiert sind, können Sie suchen Damit ist dieser Artikel über 4 Möglichkeiten zur Vermeidung doppelter Dateneinfügung in MySQL abgeschlossen. Weitere Informationen zur Vermeidung doppelter Dateneinfügung in MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: So veröffentlichen Sie statische Ressourcen in Nginx
>>: Dünne Linientabelle zum Drucken von Webseiten + ultimative Strategie zum Drucken von Seiten
Seurat ist ein umfangreiches R-Paket für die Einz...
Nachdem MySQL installiert wurde, können Sie in ei...
Suchen Sie die Container-ID von Tomcat und rufen ...
Einführung Inkrementelles Backup bedeutet, dass n...
Ergebnis:Implementierungscode: html <link href...
1. Gehen Sie zunächst auf die offizielle Website ...
In diesem Artikel wird hauptsächlich erläutert, w...
Heute wollte ich den MySQL-Port ändern, habe jedo...
1. Quelle des Problems Ein Freund von @水米田 hat mi...
Inhaltsverzeichnis Schlossübersicht Sperrklassifi...
<iframe src="./ads_top_tian.html" all...
1. Hilfe-Befehl 1. Aktuelle Docker-Version anzeig...
In diesem Artikelbeispiel wird der spezifische Co...
1. Zabbix-Backup [root@iZ2zeapnvuohe8p14289u6Z /]...
1.1. Herunterladen: Laden Sie das Zip-Paket von d...