Maison > base de données > tutoriel mysql > Pourquoi ma requête MySQL INSERT échoue-t-elle avec une clause WHERE ?

Pourquoi ma requête MySQL INSERT échoue-t-elle avec une clause WHERE ?

Barbara Streisand
Libérer: 2025-01-19 06:26:13
original
643 Les gens l'ont consulté

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

La requête MySQL INSERT est en conflit avec la clause WHERE

Lorsque vous essayez d'insérer des données dans une base de données MySQL à l'aide d'une requête similaire à :

<code class="language-sql">INSERT INTO Users( weight, desiredWeight ) VALUES ( 160, 145 ) WHERE id = 1;</code>
Copier après la connexion

Vous pouvez recevoir un message d'erreur si une clause WHERE est présente. En effet, la syntaxe INSERT de MySQL ne prend pas en charge la clause WHERE.

Nouvelle ligne

Si l'intention est de créer une nouvelle ligne avec un ID spécifié, la requête correcte ressemblerait à ceci :

<code class="language-sql">INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);</code>
Copier après la connexion

Mettre à jour la ligne existante

Pour modifier la valeur dans une ligne existante, l'instruction UPDATE doit être utilisée :

<code class="language-sql">UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;</code>
Copier après la connexion

INSÉRER... SUR LA CLÉ EN DOUBLE

Vous pouvez également utiliser la syntaxe INSERT ... ON DUPLICATE KEY pour insérer ou mettre à jour des lignes en fonction d'une clé unique ou primaire :

<code class="language-sql">INSERT INTO Users (id, weight, desiredWeight) VALUES(1, 160, 145) ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145</code>
Copier après la connexion

Utiliser la colonne à incrémentation automatique

Si la colonne id de la table est définie sur incrémentation automatique, vous pouvez l'omettre de la requête INSERT et laisser MySQL gérer l'incrément :

<code class="language-sql">INSERT INTO Users SET weight=160, desiredWeight=145</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal