0

我的mysql表中有两列,equipment并且orderno,这里设备号是手动插入的,它们的形式C1234C3212等。

我想剥离Cfromequipment列并将剩余的数字插入orderno列。我已经看到 mysqlsubstring_index()可以有效地获取子字符串,但我不确定如何让它在equipment列更改时自动进行更改。

4

2 回答 2

1

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

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)

看到这个小提琴

于 2012-12-28T11:01:10.570 回答
1

试试这个 ::

UPDATE myTable set orderno= REPLACE(equipment, 'C', '') 
于 2012-12-28T11:10:55.157 回答