mysql

Mysqlで複数のテーブルを結合し、条件指定でUPDATEする方法

Mysqlで1つのテーブルを別のテーブルの値でUPDATEするやり方

Mysqlで1つのテーブルの値を別のテーブルの値と同じ値に合わせたいときのSQLを紹介します。

例えば以下の、テーブルAをテーブルBの値で更新します。

  • テーブルA (table_a)
ID(id) 名前(name) 誕生日(birthday)
1 山田 1988-10-01
2 佐藤 1988-12-01
3 田中 1989-01-01
  • テーブルB (table_a)
ID(id) 名前(name) 誕生日(birthday) 新ID(new_id)
1 山田 1989-10-01 1
2 佐藤 1989-12-01 3
3 田中 1990-01-01 4

table_aのbirthdaryをtable_bのbirthdayで更新したい場合、以下のSQLを実行します。

Mysqlでテーブルを条件指定して,他方のテーブルをUPDATEするやり方

上のtable_aに対し、id=2の佐藤さんのみtable_bの値で更新したい場合

Mysqlで1つのテーブルの値を結合した別のテーブルの値で更新するやり方

  • テーブルC (table_c)
新ID(new_id) 誕生日(birthday)
3 1991-10-01
4 1992-10-01

次にテーブルBの新ID、テーブルCの新IDを紐づけて、テーブルCのbirthdayでテーブルAのbirtydayを更新するSQLを紹介します。