トリガーを作成するために使用しようとしているコードは次のとおりです。
-- 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)Incorrect parameters in the call to concat
。使用しない場合はうまく機能しますif(NEW.prefix_id is null,'',NEW.prefix_id)
が、NEW.prefix_id
。ただし、このフィールドはである可能性がnull
あるため、すべてconcat
の結果はnull
になります。
だから、問題は、コールIF
内でどのようにステーションを使用できるかということです。CONCAT