我正在尝试在MySQL的触发器中执行批处理文件。每当在表中插入数据时,应调用Insert On Trigger并执行/调用Trigger中给出的Batch文件。这个场景在MySQL中是否可行?我在SQL Server中这样做了。在SQL Server中,它是可能的。
答案 0 :(得分:1)
默认情况下,无法在MySQL查询或存储过程中运行外部命令(启动外部进程)。
但是,您可以使用user defined functions (UDF)来实现此目的。使用UDF,您可以在C中编写自定义函数,然后可以在任何查询或存储过程中使用。这样的函数显然也可以运行外部进程,命令行可能作为参数接收。
幸运的是,这已经实现了,但您必须安装它。您可以在http://www.mysqludf.org/上搜索,例如this one将允许您执行操作系统命令。
但请注意,这可能会带来严重的安全风险。如果您的应用程序中存在SQL注入漏洞,那么加载这些UDF会大大增加服务器完全泄露的风险(而不仅仅是完整的应用程序泄露)。
答案 1 :(得分:1)