gpt4 book ai didi

MySQL 触发器在插入时替换特定字符

转载 作者:行者123 更新时间:2023-11-29 16:27:32 25 4
gpt4 key购买 nike

我需要在插入表时用替代字符替换一些字符,更具体地说,我想在插入时清除土耳其语字符,例如“Ç Ş й Ğ Ü Ö”。我可以在调用插入过程之前使用 PHP 来完成此操作,但想知道是否可以使用 MySQL 触发器来完成此操作。

我找到了这个例子MySQL Trigger to change inserted text并根据我的需要进行编辑,但当我尝试时,意识到它只更改了一个字母,其他字母保持不变,例如我有一个像“ÇARŞAMBADAN ÇARŞAMBAYA”这样的字符串,它会更改为“CARSAMBADAN ÇARŞAMBAYA”,因为你看到它替换了第一个“Ç” ”,其他字符仍然保留。

是否可以使用 MySQL 触发器将特定字符替换为替代字符?

delimiter |
CREATE TRIGGER replace_tr BEFORE INSERT ON isimler
FOR EACH ROW
BEGIN
IF NEW.Body LIKE '%Ç%' THEN
SET NEW.Body = '' ;
END IF;
END
|
delimiter ;

最佳答案

您可以使用 replace() 进行一系列赋值来替换字符。

...
BEGIN
SET new.body = replace(new.body, 'Ç', 'C');
...
SET new.body = replace(new.body, 'Ö', 'O');
END;
...

关于MySQL 触发器在插入时替换特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54161401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com