首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分隔符//在触发器中做什么?

分隔符//在触发器中做什么?
EN

Stack Overflow用户
提问于 2009-08-28 12:13:39
回答 5查看 83.8K关注 0票数 43
代码语言:javascript
复制
DELIMITER //

它的用途是什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-08-28 12:15:57

它将语句分隔符从;更改为//。这是因为您可以在触发器定义中编写;,而不会被MySQL客户端误解为您已经使用它了。

请注意,当换回时,它是DELIMITER ;,而不是我看到的人们试图做的DELIMITER;

票数 86
EN

Stack Overflow用户

发布于 2009-08-28 12:18:18

在SQL中,使用分隔符结束每个语句,分隔符默认情况下是分号(;)。在触发器中,您需要编写多个语句,每个语句都以分号结尾。要告诉MySQL这些分号不是触发器语句的结尾,可以临时将分隔符从;改为//,这样MySQL就会知道,只有当触发器语句包含//时,它才会结束。

票数 34
EN

Stack Overflow用户

发布于 2017-06-25 22:55:51

添加一个示例:

在使用mysql shell命令时,我们使用;分隔符来结束每条语句。但是,如果我们想要构建存储过程和触发器,我们还需要在这些语句中添加分号;

代码语言:javascript
复制
delimiter //
create trigger log_students after insert on students
for each row
  begin
    insert into log_students(change_by, change_at) values(USER(), NOW());
  end//
delimiter ;
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1346637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档