delimiter自定义执行符合。在mysql客户端中,默认执行符号是 ;
比如select * from tab1; 有分号,敲回车就执行了,没有分号敲回车会换行,mysql客户端认为你的命令还没有结束
但是在存储过程,触发器等功能中,一般都不会是一行代码,且可能有;来表示内部模块的命令分割
delimiter "标识符" 来定义delimiter,如:
delimiter lzl
drop trigger if exists tri1;
create trigger tri1
after update on tab1
for each row
begin
UPDATE tab2 SET sum = (SELECT SUM(col1) FROM tab1);
end;
lzl
上面的代码直接复制粘贴,就可以成功创建触发器
但是如果没有delimiter,在mysql客户端中是执行失败的,以;分段执行(在某些客户端中默认打包执行,不需要delimiter)
信息加载中,请等待
微信客服(速回)
微信客服(慢回)