私のmysqlテーブルには2つの列がequipment
ありorderno
、ここでは機器番号が手動で挿入され、それらはなどの形式C1234
になっています.C3212
C
fromequipment
列を取り除き、残りの数値を列に挿入したいorderno
。私はmysqlsubstring_index()
が部分文字列を効果的に取得できることを見てきましたが、列が変更されたときに自動的に変更を行う方法がわかりませんequipment
。
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)
これを試して ::
UPDATE myTable set orderno= REPLACE(equipment, 'C', '')