ホームページ >データベース >mysql チュートリアル >MySQL INSERT クエリが WHERE 句で失敗するのはなぜですか?

MySQL INSERT クエリが WHERE 句で失敗するのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-19 06:26:13610ブラウズ

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

MySQL INSERT クエリが WHERE 句と競合します

次のようなクエリを使用して MySQL データベースにデータを挿入しようとすると、

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

WHERE 句が存在する場合、エラー メッセージが表示される場合があります。これは、MySQL の INSERT 構文が WHERE 句をサポートしていないためです。

改行

指定された ID で新しい行を作成することが目的の場合、正しいクエリは次のようになります:

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

既存の行を更新

既存の行の値を変更するには、UPDATE ステートメントを使用する必要があります。

<code class="language-sql">UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;</code>

重複キーに ... を挿入

また、INSERT ... ON DUPLICATE KEY 構文を使用して、一意キーまたは主キーに基づいて行を挿入または更新することもできます。

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

自動インクリメント列を使用する

テーブルの id カラムが自動インクリメントに設定されている場合は、INSERT クエリからそれを省略して、MySQL にインクリメントを処理させることができます。

<code class="language-sql">INSERT INTO Users SET weight=160, desiredWeight=145</code>

以上がMySQL INSERT クエリが WHERE 句で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。