Heim > Datenbank > MySQL-Tutorial > Warum schlägt meine MySQL-INSERT-Abfrage mit einer WHERE-Klausel fehl?

Warum schlägt meine MySQL-INSERT-Abfrage mit einer WHERE-Klausel fehl?

Barbara Streisand
Freigeben: 2025-01-19 06:26:13
Original
667 Leute haben es durchsucht

Why Does My MySQL INSERT Query Fail with a WHERE Clause?

MySQL INSERT-Abfragekonflikt mit WHERE-Klausel

Beim Versuch, Daten mit einer Abfrage ähnlich der folgenden in eine MySQL-Datenbank einzufügen:

INSERT INTO Users( weight, desiredWeight ) VALUES ( 160, 145 ) WHERE id = 1;
Nach dem Login kopieren

Möglicherweise erhalten Sie eine Fehlermeldung, wenn eine WHERE-Klausel vorhanden ist. Dies liegt daran, dass die INSERT-Syntax von MySQL keine WHERE-Klausel unterstützt.

Neue Linie

Wenn die Absicht besteht, eine neue Zeile mit einer angegebenen ID zu erstellen, würde die korrekte Abfrage so aussehen:

INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);
Nach dem Login kopieren

Vorhandene Zeile aktualisieren

Um den Wert in einer vorhandenen Zeile zu ändern, sollte die UPDATE-Anweisung verwendet werden:

UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;
Nach dem Login kopieren

INSERT ... ON DUPLICATE KEY

Alternativ können Sie die Syntax INSERT ... ON DUPLICATE KEY verwenden, um Zeilen basierend auf einem eindeutigen oder Primärschlüssel einzufügen oder zu aktualisieren:

INSERT INTO Users (id, weight, desiredWeight) VALUES(1, 160, 145) ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145
Nach dem Login kopieren

Spalte mit automatischer Inkrementierung verwenden

Wenn die ID-Spalte in der Tabelle auf automatische Inkrementierung eingestellt ist, können Sie sie in der INSERT-Abfrage weglassen und MySQL die Inkrementierung überlassen:

INSERT INTO Users SET weight=160, desiredWeight=145
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum schlägt meine MySQL-INSERT-Abfrage mit einer WHERE-Klausel fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage