我有一个简单的触发器,它在SQL Fiddle上运行,但它不允许我在触发器的主体内移动我的INSERT STATEMENT。 my code on sqlFiddle 我只是想移动这一行
INSERT INTO t2(start_date) VALUES (CURDATE());
在此触发器的主体内
CREATE TRIGGER trig1
AFTER UPDATE ON t1
FOR EACH ROW
BEGIN
-- here, i want to put the simple INSERT STATEMENT here
END;
似乎无法在sqlFiddle上接受它
我试试的时候
CREATE TRIGGER trig1
AFTER UPDATE ON t1
FOR EACH ROW
BEGIN
INSERT INTO t2(start_date) VALUES (CURDATE());
END;
它给了我这个错误:架构创建失败:你的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第4行的''附近使用正确的语法:
答案 0 :(得分:5)
将分隔符更改为/(斜杠)。
CREATE TABLE t1
(
id INT auto_increment primary key,
value INT(11)
)
/
CREATE TABLE t2
(
id INT auto_increment primary key,
start_date DATE
)
/
INSERT INTO t1( value ) VALUES( 100 )
/
CREATE TRIGGER trig1
AFTER UPDATE ON t1
FOR EACH ROW
BEGIN
INSERT INTO t2( start_date ) VALUES ( now() );
END;
/
UPDATE t1 SET value = 10
/
演示 - > http://sqlfiddle.com/#!2/aecc7/1