如何使用触发器更改格式?

时间:2019-01-30 19:34:53

标签: mysql triggers format

你好,我有一个关于触发器的问题。所以我有一张桌子 球鞋。有一个包含电话号码的列。 现在,每次将新的Speler添加到表中时,电话号码格式都必须更改。例如:070-237893-> +31 70237893。

我必须使用触发器来执行此操作。

这是我到目前为止得到的:

DELIMITER //

CREATE TRIGGER
nummer BEFORE  INSERT  
on spelers
FOR each row
BEGIN  



END //
DELIMITER ;

所以我不知道该怎么做。这是我必须更改格式的代码

select concat(replace(left(telefoon,1),'0','+32 '),substring(replace(telefoon,'-',' '),2,10)) as telefoon

谢谢。

1 个答案:

答案 0 :(得分:0)

以下代码可以完成这项工作。 InMySQL触发您访问通过伪表«NEW»插入的数据。在您的用例中,要做的就是在插入电话号码之前更改电话号码的值。

CREATE TRIGGER nummer 
BEFORE INSERT ON spelers
FOR EACH ROW 
BEGIN
    IF (NEW.telefon IS NOT NULL) THEN
        SET NEW.telefon = 
            concat(replace(left(NEW.telefoon,1),'0','+32 '),substring(replace(NEW.telefoon,'-',' '),2,10));
    END IF
END

PS:如果telefon是不可为空的字段,则可以删除周围的IF块。