【问题标题】:How to change a column value to sub_string value of another column autoatically如何自动将列值更改为另一列的子字符串值
【发布时间】:2012-12-13 15:47:51
【问题描述】:

我的mysql表中有两列equipmentorderno,这里是手动插入的设备号,格式为C1234,C3212等。

我想从equipment 列中删除C,并将剩余的数字插入orderno 列。我已经看到 mysql substring_index() 可以有效地获取子字符串,但是当equipment 列更改时,我不确定如何使其自动进行更改。

【问题讨论】:

标签: mysql triggers substring


【解决方案1】:

您可以使用两个触发器,一个在 INSERT 之前触发,一个在 UPDATE 之前触发,以根据 equipment 列自动更新 orderno

CREATE TRIGGER upd_your_table BEFORE UPDATE ON your_table 
FOR EACH ROW
  SET new.orderno=substring(new.equipment, 2)
;
CREATE TRIGGER ins_your_table BEFORE INSERT ON your_table 
FOR EACH ROW
  SET new.orderno=substring(new.equipment, 2)
;

要更新现有值,您可以使用:

UPDATE your_table SET orderno=substring(equipment, 2)

See this fiddle

【讨论】:

    【解决方案2】:

    试试这个 ::

    UPDATE myTable set orderno= REPLACE(equipment, 'C', '') 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      • 2019-03-15
      • 1970-01-01
      • 1970-01-01
      • 2014-11-05
      • 2022-11-23
      • 2019-11-23
      相关资源
      最近更新 更多