我只是为MySQL创建一个触发器。但我收到以下错误。
错误1064(42000):您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 在第1行'END'附近使用的语法
以下是我创建触发器的代码。
DROP TRIGGER IF EXISTS user_contact_after_insert;
DELIMITER //
CREATE TRIGGER `user_contact_after_insert`
AFTER INSERT ON `forum_user`
FOR EACH ROW
BEGIN
INSERT INTO `user_contact` (email) VALUES (LCASE(NEW.FIRST_NAME NEW.LAST_NAME+'@gmail.com'));
END;
DELIMETER ;
这里我有两张表forum_user
& user_contact
。在forum_user
表中,我有四列,如ID
,first_name
,last_name
,Date
,在user_contact
表中,我有两列{{1 }& ID
。
现在,我想创建一个触发器,当一行将插入到forum_user表中时,会在user_contact表中插入一行,其中最近的值来自email
& first_name
。
我在这段代码中做错了什么。 任何帮助都会很明显。
答案 0 :(得分:2)
更改DELIMITER
并使用CONCAT
DROP TRIGGER IF EXISTS user_contact_after_insert;
DELIMITER //
CREATE TRIGGER `user_contact_after_insert`
AFTER INSERT ON `forum_user`
FOR EACH ROW
BEGIN
INSERT INTO `user_contact` (email)
VALUES (LCASE(CONCAT(NEW.FIRST_NAME, NEW.LAST_NAME,'@gmail.com')));
END// --- <<=== HERE
DELIMITER ;