[解決済み] MySQL - 1つのクエリで異なる値を持つ複数の行をUPDATEする。
2022-03-09 21:47:30
質問
異なる値を持つ複数の行を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 WorkbenchでUPDATE中に1175のエラーが発生しました。
-
[解決済み] MySQLで「一意のテーブル/エイリアスでない」場合
-
[解決済み] ERROR 1148: 使用されたコマンドはこのMySQLバージョンでは許可されていません。
-
[解決済み] mysqlのテーブルからユニークキーを削除する方法
-
[解決済み] dpkg: error processing package mysql-server (dependency problems)?
-
[解決済み] 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のDESCRIBE [table]に相当するSQLiteはあるか?]
-
[解決済み] mysqldです。dir を data に変更できません。サーバーが起動しません
-
[解決済み] MySQLが重複したレコードを削除し、最新のレコードを保持する
-
[解決済み] ルートユーザーでログインしているのに、phpMyAdminがデータベースを作成する権限がないと言う
-
[解決済み] MySQLから最後のN行を選択する
-
[解決済み] MySQL でネストされたトランザクションは可能ですか?
-
[解決済み] DateTime 日付と時間によるグループ化
-
[解決済み] dpkg: error processing package mysql-server (dependency problems)?
-
[解決済み] テーブルがクラッシュしたと判定されたため、修復する必要があります。
-
[解決済み] MySQLの多重更新