你好,我有一个关于触发器的问题。所以我有一张桌子 球鞋。有一个包含电话号码的列。 现在,每次将新的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
谢谢。
答案 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块。