teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

推敲

2020/09/16 03:46

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -7,4 +7,4 @@
7
7
  更新先と更新値のテーブルを結合してupdateすれば、SQL文に分岐は必要なくなります。
8
8
  当然ですが、更新値のデータはバリエーション分作成する必要があります。
9
9
 
10
- 質問のケースが、更新データが大量にあってそれを更新したいという事なら、そのデータを作業用のテーブルに[LOAD DATA INFILE](https://dev.mysql.com/doc/refman/5.6/ja/load-data.html)等でインポートして、そのテーブルを元に更新するのが手間が掛からないと思います。
10
+ 質問のケースが、更新データが大量にあってそれを元に更新したいという事なら、そのデータを作業用のテーブルに[LOAD DATA INFILE](https://dev.mysql.com/doc/refman/5.6/ja/load-data.html)等でインポートして、そのテーブルを元に更新するのが手間が掛からないと思います。

2

追記

2020/09/16 03:46

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -7,4 +7,4 @@
7
7
  更新先と更新値のテーブルを結合してupdateすれば、SQL文に分岐は必要なくなります。
8
8
  当然ですが、更新値のデータはバリエーション分作成する必要があります。
9
9
 
10
- 質問のケースが、更新データが大量にあってそれを更新したいという事なら、そのデータを作業用のテーブルにインポートして、そのテーブルを元に更新するのが手間が掛からないと思います。
10
+ 質問のケースが、更新データが大量にあってそれを更新したいという事なら、そのデータを作業用のテーブルに[LOAD DATA INFILE](https://dev.mysql.com/doc/refman/5.6/ja/load-data.html)等でインポートして、そのテーブルを元に更新するのが手間が掛からないと思います。

1

追記

2020/09/16 03:45

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -5,4 +5,6 @@
5
5
  sqlのみで行うなら**case**等での分岐ですけど、SQL文にその分岐を持ち込みたくないなら、データで行う必要があります。
6
6
 
7
7
  更新先と更新値のテーブルを結合してupdateすれば、SQL文に分岐は必要なくなります。
8
- 当然ですが、更新値のデータはバリエーション分作成する必要があります。
8
+ 当然ですが、更新値のデータはバリエーション分作成する必要があります。
9
+
10
+ 質問のケースが、更新データが大量にあってそれを更新したいという事なら、そのデータを作業用のテーブルにインポートして、そのテーブルを元に更新するのが手間が掛からないと思います。