2012-12-28 48 views
0

我在mysql表两列,equipmentorderno,这里的设备数量手动插入,以及它们在形式C1234C3212如何将列值更改为SUB_STRING另一列的值autoatically

我想从equipment列中去掉C列,并将剩余的数字插入orderno列。我看到,mysql substring_index()可以有效地获取子字符串,但我不知道如何自动执行更改,当equipment列更改时。

+1

那么,到目前为止你有什么? –

+1

创建设备列更新/添加更改时执行的触发器。 检查以下链接: http://stackoverflow.com/questions/4547465/updating-table-in-trigger-after-update-on-the-same-table –

回答

1

你可以使用两个触发器,一个这是一个INSERT之前解雇,一个一个更新之前发射,基于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

1

试试这个::

UPDATE myTable set orderno= REPLACE(equipment, 'C', '') 
相关问题