Ash*_*ish 5 mysql rest json stored-procedures database-trigger
我想POST在 Windows 上的 mysql 服务器中的存储过程或触发器的方法中调用 rest api 。
如何仅使用 MySQL 执行此操作?
小智 9
您可以使用 mysql-udf-http,然后创建一个触发器,如下所示:
delimiter $$
CREATE TRIGGER upd_check BEFORE UPDATE ON account
FOR EACH ROW
BEGIN
IF NEW.amount > 0 THEN
set @json = select json_object(account_id,amount)
select http_post('http://restservice.example.com/account/post',@json);
END IF;
END;$$
delimiter;
Run Code Online (Sandbox Code Playgroud)
Dre*_*rew -7
基本上你不能。如果可以(通过使用 UDF 库),您就不应该这样做。
Mysql 是一个高性能数据库引擎,您应该尊重它的核心能力。其他利益相关者正在等待您的查询或交易结束,他们会受到影响,而您的却不会。它不是一个带有异步调用回调的网络服务器。触发器和存储过程需要进入和退出,因为它们经常在事务设置中使用。