[解決済み] MySQL - 1つのクエリで異なる値を持つ複数の行をUPDATEする
2022-04-18 01:31:19
質問
異なる値を持つ複数の行をUPDATEする方法を理解しようとしているのですが、どうしてもうまくいきません。解決策はどこにでもあるのですが、私には理解するのが難しく見えます。
例えば、3つの更新を1つのクエリにする場合。
UPDATE table_users
SET cod_user = '622057'
, date = '12082014'
WHERE user_rol = 'student'
AND cod_office = '17389551';
UPDATE table_users
SET cod_user = '2913659'
, date = '12082014'
WHERE user_rol = 'assistant'
AND cod_office = '17389551';
UPDATE table_users
SET cod_user = '6160230'
, date = '12082014'
WHERE user_rol = 'admin'
AND cod_office = '17389551';
I 読む の例ですが、クエリの作り方がよくわかりません。
UPDATE table_to_update
SET cod_user= IF(cod_office = '17389551','622057','2913659','6160230')
,date = IF(cod_office = '17389551','12082014')
WHERE ?? IN (??) ;
WHERE条件とIF条件に複数の条件がある場合、どのようにクエリを実行するのかが全く分かりません。何かアイデアはありますか?
どのように解決するのですか?
この方法でできます。
UPDATE table_users
SET cod_user = (case when user_role = 'student' then '622057'
when user_role = 'assistant' then '2913659'
when user_role = 'admin' then '6160230'
end),
date = '12082014'
WHERE user_role in ('student', 'assistant', 'admin') AND
cod_office = '17389551';
日付の書式がよくわからないのですが。 日付は、ネイティブの日付と時刻の型を使ってデータベースに保存されるべきです。
関連
-
mysqlでインデックスに障害が発生する原因は何ですか?
-
ジョイントインデックスのためのmysqlの条件とインデックスが失敗するための条件
-
MySQLインストールチュートリアル(Linux版
-
[解決済み】マルチパート識別子をバインドできませんでした。
-
[解決済み】MySQLのエラーコードです。MySQL WorkbenchでUPDATE中に1175のエラーが発生しました。
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] MySQL - SELECTクエリに基づくUPDATEクエリ
最新
-
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の整数インデックスと文字列インデックスの失敗または暗黙の変換問題
-
MySQLデータ型の詳細
-
MySQL XAが分散型トランザクションを実装する方法を1記事にまとめました。
-
[解決済み] datetimeの挿入時に文字列から日付や時刻を変換すると、変換に失敗する
-
[解決済み】MySQLで「すべての派生テーブルは独自のエイリアスを持つ必要があります」というエラーは何ですか?
-
MySQLの起動エラー:ERROR 2003 (HY000)。localhost'上のMySQLサーバーに接続できない(10061)
-
mysql がエラーを報告します。不明な文字セットです。'utf8mb4'
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] MySQLデータベースの名前を素早く変更する(スキーマ名を変更する)方法は?
-
[解決済み] MySQLの多重更新