0

MySQLのトリガーを作成しています。しかし、私は以下のエラーが発生しています。

エラー 1064 (42000): SQL 構文にエラーがあります。1 行目の 'END' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

以下は、トリガーを作成するための私のコードです。

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 ;

ここに 2 つのテーブルforum_user&がありuser_contactます。テーブルには、、、forum_userのような 4 つの列があり、テーブルには&の 2 つの列があります。IDfirst_namelast_nameDateuser_contactIDemail

ここで、first_name&からの最近の値を使用して 1 つの行が forum_user テーブルに挿入されるときに、user_contact テーブルに行を挿入するトリガーを作成しますlast_name

このコードで何か間違ったことをしていますか? どんな助けもかなりのものです。

4

1 に答える 1

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 ;
于 2013-02-04T09:24:29.433 に答える