0

データベースに次の変更を大量に加えることができるマクロ/スクリプト/自動化されたものをどのようにまとめることができますか?

列 1 のいずれかのセルが X の場合、列 2 (同じ行) の内容を 0 に変更します。列 1 のセルが X でない場合、列 2 の内容はそのままにします。

4

2 に答える 2

1

これは、句を含む単純なUPDATEステートメントです。WHERE1回実行して、テーブル内のすべての行を更新します。

UPDATE yourtable SET column2 = 0 WHERE column1 = 'X'

に変更さcolumn2れるたびに自動的に0に更新する必要がある場合は、トリガーを作成します。column1XBEFORE UPDATE

/* DELIMITER has been set to $$ in your client */
CREATE TRIGGER column1_is_X BEFORE UPDATE ON yourtable
FOR EACH ROW
BEGIN
  IF NEW.column1 = 'X' THEN
    SET NEW.column2 = 0;
  END IF;
END$$
/* Then you should set the DELIMITER back to ; */
于 2012-11-29T14:54:51.177 に答える
0

次のようなことができます:

UPDATE table SET column2 = IF (column1 = 'X', 0, column2)
于 2012-11-29T14:57:46.610 に答える