テーブルの値をバッチで更新する方法を教えてください
これで、データ テーブルができました。そのうちの 1 つは type です。データテーブルには N 個の情報があります。
type の値を変更したいのですが、条件は異なる classid に応じて変更することです。
しかし現在は、複数の条件セットに対応する型値のセットが複数あります
たとえば、class=1、type=rass
class=8、type=bbcc
の場合
このような状況のグループが複数あります。すべてのタイプを一度に 1 つずつ更新するにはどうすればよいですか?
他に選択肢はありません、今学びました、テーブルセットのタイプ=対応する値、クラス=対応する値を更新することだけが考えられます
------解決策- ------------------
CASE 値 WHEN [比較値] THEN 結果 [WHEN [比較値] THEN 結果 ...] [ELSE 結果] END
CASE WHEN [条件] THEN 結果 [WHEN [条件] THEN 結果 ...] [ELSE 結果] END
http://dev.mysql.com/doc/refman/5.1/ ja /control-flow-functions.html#operator_case
------解決策----------------------
データベースは第 3 正規形に準拠していません。分解: 新しい (クラス、タイプ) を作成し、元のテーブルからタイプを削除することをお勧めします。
------解決策---------
SQL のクエリが条件を満たし、更新される場所
------解決策---------
クラスと型の対応が不規則な場合したがって、if、else、または case when を使用して記述しないでください。そうでない場合、どれくらい長くなりますか?
別のテーブルを作成し、クラスと型の対応関係を保存します。テーブルを更新するときに、このテーブルに対して結合クエリを実行します。