我的mysql表中有两列equipment
和orderno
,此处设备编号是手动插入的,它们的格式为C1234
,C3212
等。
我想从C
列中删除equipment
并将剩余的数字插入orderno
列。我已经看到mysql substring_index()
可以有效地获取子字符串但我不确定当equipment
列发生更改时如何自动进行更改。
答案 0 :(得分: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)
答案 1 :(得分:1)
试试这个::
UPDATE myTable set orderno= REPLACE(equipment, 'C', '')