23
A
回答
50
它将语句分隔符从;
更改为//
。这样你就可以在你的触发器定义中写入;
而不会导致MySQL客户端误解了你的意思。
请注意,改变回来时,它是DELIMITER ;
,而不是DELIMITER;
,正如我见过人们试图做的那样。
13
在SQL中,用分隔符(默认分号(;))关闭每条语句。在触发器中,您需要编写多个语句,每个语句以分号结尾。为了告诉MySQL这些分号不是触发器语句的结尾,你暂时将分隔符从;到//,所以MySQL会知道触发器语句只有在econunter //时才会结束。
1
阅读(ummmm)mysql documentation。
delimiter
是您发送给mysql命令行客户端的每个命令结束的标记。
delimiter
不仅与触发器有关,而且定义触发器和存储过程是一个强大的用例,因为您希望它们包含分号(;),否则这些分号是默认的delimiter
。
1
简单设置语句分隔符的结尾(;
标准默认SQL中的分号)。 如果您想在SQL中使用;
,或者您正在使用嵌入式SQL(可能导致混淆),更改字符可能会很有用。同样,在你的例子中//
可能会导致嵌入式SQL产生混淆,或者你可能想在你的SQL中使用它。所以暗示使用DELIMITER
来设置适合您的应用程序和需要的分隔符。
0
添加例子:
当使用mysql shell命令时,我们使用;
分隔符关闭每个语句。但是,如果我们想要构建存储过程和触发器,则还需要在这些语句中添加分号;
。
> 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 ;
相关问题
- 1. 如何在Javascript中触发DOMContentLoaded时执行什么操作?
- 2. 触发器在操作中未触发
- 3. 更新触发器上的MySql。 DELIMITER
- 4. 为什么这个触发器没有执行?
- 5. 在Java中执行新操作后,代码块会执行什么操作?
- 6. CookiePolicy适配器参数在Worklight 6.1+中执行什么操作?
- 7. 如何使用cassandra触发器执行删除操作?
- 8. 通过编程写入触发器或执行操作?
- 9. 什么触发JavaScript代码执行?
- 10. 在什么情况下执行SQL Server触发器?
- 11. INSTEAD OF INSERT触发器执行插入操作后,FOR INSERT触发器会触发吗?
- 12. 在执行命令后,double-dash会执行什么操作?
- 13. 在触发器中执行程序
- 14. 如何在触发器中触发2个写操作
- 15. 在Postgres触发函数异常调用之前执行操作
- 16. 触发操作
- 17. 触发器执行顺序
- 18. 为什么会发生“java.lang.IllegalStateException:onSaveInstanceState后无法执行此操作”?
- 19. 为什么这个MySQL触发器不能正确执行?
- 20. perl中的触发器操作符
- 21. 不确定组合操作员在功能中执行什么操作
- 22. 如何在执行插入操作时创建更新触发器?
- 23. 如何获得在触发器中执行的动作
- 24. mySQL触发器有什么问题?
- 25. 为什么执行触发作业的控制器会输出整数?
- 26. 当触发这些触发器功能的插入操作失败时,触发器操作后会发生什么?
- 27. 在django-mptt中执行以下操作有什么错误?
- 28. 为什么你必须在error_reporting中执行二进制操作?
- 29. 在触发器中执行否定的最简单方法是什么?
- 30. 在HttpModule中执行操作
是mysql语法还是mysql shell命令? – nafg 2015-02-04 09:42:09
mysql shell命令 – 2015-04-12 05:41:35