データベースに次の変更を大量に加えることができるマクロ/スクリプト/自動化されたものをどのようにまとめることができますか?
列 1 のいずれかのセルが X の場合、列 2 (同じ行) の内容を 0 に変更します。列 1 のセルが X でない場合、列 2 の内容はそのままにします。
データベースに次の変更を大量に加えることができるマクロ/スクリプト/自動化されたものをどのようにまとめることができますか?
列 1 のいずれかのセルが X の場合、列 2 (同じ行) の内容を 0 に変更します。列 1 のセルが X でない場合、列 2 の内容はそのままにします。
これは、句を含む単純なUPDATE
ステートメントです。WHERE
1回実行して、テーブル内のすべての行を更新します。
UPDATE yourtable SET column2 = 0 WHERE column1 = 'X'
に変更さcolumn2
れるたびに自動的に0に更新する必要がある場合は、トリガーを作成します。column1
X
BEFORE 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 ; */
次のようなことができます:
UPDATE table SET column2 = IF (column1 = 'X', 0, column2)