我有一个简单的触发器,它在SQL Fiddle上运行,但它不允许我在触发器的主体内移动我的INSERT STATEMENT. 我在sqlFiddle上的代码 我只是想移动这一行
INSERT INTO t2(start_date) VALUES (CURDATE());
Run Code Online (Sandbox Code Playgroud)
在这个触发器的主体内部
CREATE TRIGGER trig1
AFTER UPDATE ON t1
FOR EACH ROW
BEGIN
-- here, i want to put the simple INSERT STATEMENT here
END;
Run Code Online (Sandbox Code Playgroud)
似乎无法在sqlFiddle上接受它
当我尝试它
CREATE TRIGGER trig1
AFTER UPDATE ON t1
FOR EACH ROW
BEGIN
INSERT INTO t2(start_date) VALUES (CURDATE());
END;
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误:架构创建失败:您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第4行的''附近使用正确的语法:
将分隔符更改为/(斜杠).
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
/
Run Code Online (Sandbox Code Playgroud)
演示 - > http://sqlfiddle.com/#!2/aecc7/1
| 归档时间: |
|
| 查看次数: |
772 次 |
| 最近记录: |