根据另一个更改mysql中的一个字段

时间:2012-11-29 14:53:09

标签: mysql automation

如何组合一个宏/脚本/自动的东西,这将允许我对我的数据库进行大量的以下更改:

如果第1列中的任何单元格为X,则将第2列(在同一行中)的内容更改为0。 如果第1列中的单元格不是X,则单独保留第2列的内容。

2 个答案:

答案 0 :(得分:1)

这只是一个带有UPDATE子句的简单WHERE语句。运行一次以更新表中的所有行。

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

如果您需要在column2更改为column1时自动将X更新为0,请创建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 ; */

答案 1 :(得分:0)

您可以执行以下操作:

UPDATE table SET column2 = IF (column1 = 'X', 0, column2)