簡體   English   中英

MySQL觸發語法錯誤

[英]MySQL trigger syntax error

我只是為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_useruser_contact forum_user表中,我有四列,如IDfirst_namelast_nameDate ,在user_contact表中,我有兩列IDemail

現在,我想創建一個觸發器,當一行將插入到forum_user表中時,會在user_contact表中插入一行,其中包含first_namelast_name的最新值。

我在這段代碼中做錯了什么。 任何幫助都會很明顯。

更改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 ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM