[解決済み] MySQLのInsertクエリがWHERE句で動作しない
2022-03-09 15:21:50
質問
このクエリのどこが問題なのでしょうか。
INSERT INTO Users( weight, desiredWeight ) VALUES ( 160, 145 ) WHERE id = 1;
がなくても動作します。
WHERE
節があります。SQLを忘れていたようです。
どうすればいいですか?
MySQL
INSERT構文
はWHERE句をサポートしていないので、このままではクエリーは失敗します。仮にあなたの
id
カラムが一意であるか、主キーであること。
ID 1 の新しい行を挿入しようとしている場合は、次のようにします。
INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);
ID 1 の既存の行の weight/desiredWeight 値を変更しようとしている場合、次のようにします。
UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;
必要であれば、INSERT ... ON DUPLICATE KEY構文を次のように使用することもできます。
INSERT INTO Users (id, weight, desiredWeight) VALUES(1, 160, 145) ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145
とか、こんな感じでも。
INSERT INTO Users SET id=1, weight=160, desiredWeight=145 ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145
また、注意点として、もしあなたが
id
カラムがオートインクリメントカラムの場合は、INSERT からカラムを省略し、mysql に通常通りインクリメントさせたほうがよいでしょう。
関連
-
[解決済み] 1行目4列目(年)の一括読み込みデータ変換エラー(型の不一致または指定したコードページに対して無効な文字)
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] ...値に挿入する ( SELECT ... FROM ... )
-
[解決済み] SQLのIN句をパラメータ化する
-
[解決済み] INNER JOIN ON vs WHERE句
-
[解決済み] MySQLで'insert if not exists'を行うにはどうしたらいいですか?
-
[解決済み】WHERE句を使用したクエリへの配列の渡し方
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] バックエンドバージョンでは、データベースのダイアグラムやテーブルのデザインはサポートされていません。
-
[解決済み】INTERSECTとINNER JOINは根本的に違うのか?[重複している]
-
[解決済み] テスト
-
[解決済み] INSERT ステートメントが FOREIGN KEY 制約と競合する - SQL Server
-
[解決済み] SQL Server サブクエリが 1 つ以上の値を返しました。これは、サブクエリが =, !=, <, <= , >, >= のように続く場合は許可されません。
-
[解決済み] リンクされたサーバーの NULL に対して OLE DB プロバイダー Microsoft.Jet.OLEDB.4.0 のインスタンスを作成できません。
-
[解決済み] SQLエラーです。ORA-00922: オプションがないか無効です。
-
[解決済み] SQLです。最初の出現箇所のみを返す
-
[解決済み] VBA - ADODB.CommandTextの実行
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新