0

私のmysqlテーブルには2つの列がequipmentありorderno、ここでは機器番号が手動で挿入され、それらはなどの形式C1234になっています.C3212

Cfromequipment列を取り除き、残りの数値を列に挿入したいorderno。私はmysqlsubstring_index()が部分文字列を効果的に取得できることを見てきましたが、列が変更されたときに自動的に変更を行う方法がわかりませんequipment

4

2 に答える 2

1

2つのトリガーを使用できます。1つはINSERTの前に起動され、もう1つは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 に答える