开发者

error "1064" in trigger creation in mysql?

开发者 https://www.devze.com 2023-02-11 02:36 出处:网络
while creating trigger in mysql i m getting error 1046. my query is: CREATE TABLE test.Employee( idint,

while creating trigger in mysql i m getting error 1046. my query is:

CREATE TABLE test.Employee(
              id            int,
              first_name    VARCHAR(30),
              last_name     VARCHAR(15),
              start_date    DATE,
              end_date      DATE,
              city          VARCHAR(10),
              description   VARCHAR(15)
          );


CREATE TABLE test.Employee_log(
              id int,
              first_name varchar(50),
              开发者_开发知识库last_name varchar(50),
              start_date date,
              end_date date,
              city varchar(50),
              description varchar(50),
              Lasinserted Time
          );

when i am executing below lines it is giving error:

Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END$$ 
delimiter' at line 1
(16 ms taken)


delimiter $$
CREATE TRIGGER test.Employee_Trigger
     AFTER insert ON test.employee
     FOR EACH ROW
     BEGIN
     insert into test.employee_log values(new.id,new.first_name,
     new.last_name,new.start_date,new.end_date,
     new.city,new.description,curtime());
    END$$ 
delimiter ;

if some one could please help it would be greately appreciated.

Thanks

Yugal


trigger are not routine nor stored procedure,
so there is not need for BEGIN...END, plus the table name is case sensitive

CREATE TRIGGER Employee_Trigger
AFTER insert ON Employee
FOR EACH ROW
INSERT INTO test.Employee_log values(new.id,new.first_name,
  new.last_name,new.start_date,new.end_date,
  new.city,new.description,curtime());
0

精彩评论

暂无评论...
验证码 换一张
取 消