gpt4 book ai didi

mysql - 如果在 concat 里面

转载 作者:可可西里 更新时间:2023-11-01 07:59:36 31 4
gpt4 key购买 nike

这是我试图用来创建触发器的代码:

-- Dumping structure for trigger kavanga_lead.click_links_insert
DROP TRIGGER IF EXISTS `click_links_insert`;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='';
DELIMITER //
CREATE TRIGGER `click_links_insert` AFTER INSERT ON `click_links` FOR EACH ROW BEGIN
INSERT INTO actions_log
(
`uid`,
`table`,
`action`,
`new`
)
VALUES
(
@user_id,
'click_links',
'insert',
concat(NEW.id ,'|', NEW.`contents`, '|', NEW.channel_id, '|', NEW.name, '|', NEW.hidden, '|', if(NEW.prefix_id is null,'',NEW.prefix_id) '|', if(NEW.postfix_id is null,'',NEW.postfix_id))
);
END//
DELIMITER ;
SET SQL_MODE=@OLD_SQL_MODE;

我不断收到错误 (1583) concat 调用中的参数不正确。如果我不使用 if(NEW.prefix_id is null,'',NEW.prefix_id) 而只使用 NEW.prefix_id,它会很好地工作。但是这个字段可以是null,所以所有concat的结果都变成了null

那么,问题是如何在 CONCAT 调用中使用 IF 语句?

最佳答案

那是因为你在 if(NEW.prefix_id is null,'',NEW.prefix_id) 之后忘记了一个 逗号 试试:

concat(NEW.id ,'|', NEW.`contents`, '|', NEW.channel_id, '|', NEW.name, '|', NEW.hidden, '|', if(NEW.prefix_id is null,'',NEW.prefix_id), '|', if(NEW.postfix_id is null,'',NEW.postfix_id))

关于mysql - 如果在 concat 里面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11776415/

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