[解決済み] MySql テーブル Insert if not exist otherwise update (存在しなければ更新)
2022-11-23 03:47:45
質問
UPDATE AggregatedData SET datenum="734152.979166667",
Timestamp="2010-01-14 23:30:00.000" WHERE datenum="734152.979166667";
があれば動作します。
datenum
が存在する場合は動作しますが、もし
datenum
が存在しない場合、このデータを新しい行として挿入したいのです。
アップデイト
データ型は一意ですが、主キーではありません。
どのように解決するのですか?
ジャイさんの言うとおり
INSERT ... ON DUPLICATE KEY UPDATE
.
datenum はユニークキーなので、更新節に含める必要はありません。テーブルの他のすべてのカラムを含める必要があります。そのためには
VALUES()
関数を使用して、他のカラムを更新するときに適切な値が使用されることを確認します。
以下は、適切な
INSERT ... ON DUPLICATE KEY UPDATE
の構文で書き直したものです。
INSERT INTO AggregatedData (datenum,Timestamp)
VALUES ("734152.979166667","2010-01-14 23:30:00.000")
ON DUPLICATE KEY UPDATE
Timestamp=VALUES(Timestamp)
関連
-
SpringBootのMySQLへの接続は、バックエンドのインターフェイスの操作方法を書き込むためのデータを取得するために
-
[解決済み】MySQLのエラーコードです。MySQL WorkbenchでUPDATE中に1175のエラーが発生しました。
-
mysql5.7のインストールと、無料・長期利用を目的としたNavicateの導入プロセスについて
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新
-
[解決済み] MySQLで'insert if not exists'を行うにはどうしたらいいですか?
-
[解決済み] "INSERT IGNORE" vs "INSERT ... ON DUPLICATE KEY UPDATE"
-
[解決済み] SQL ServerにおけるINSERT OR UPDATEに関する解決策
-
[解決済み] MySQLの挿入クエリから新しいレコードの主キーIDを取得する?
-
[解決済み】INSERT IF NOT EXISTS ELSE UPDATE?
-
[解決済み】MySQL ON DUPLICATE KEY UPDATEで1クエリで複数行挿入する場合
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
MySQLのデータバックアップにmysqldumpを使用する方法
-
SQL集計、グループ化、ソート
-
MySQLデータベースで数百万件のデータを10秒間で挿入
-
[解決済み】MySQL エラー 1093 - FROM 句で更新のターゲット テーブルを指定できません。
-
Mysql がエラーを報告 オペランドには 1 つのカラムが含まれている必要があります。
-
[解決済み] Mysqlでidを使用してテーブルから多くの行を削除する
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新
-
[解決済み] MySQLで複数のカラムに一意制約を指定するには?
-
[解決済み】複合主キーの正しい作成方法 - MYSQL