【问题标题】:Calling a REST API from a trigger or stored procedure in mysql?从 mysql 中的触发器或存储过程调用 REST API?
【发布时间】:2016-11-07 16:46:07
【问题描述】:

我想从存储过程中调用 POST 方法中的 rest api 或在 windows 上的 mysql 服务器中触发。

如何仅使用 MySQL 执行此操作?

【问题讨论】:

  • 无关:“是的,你应该”。错,没有。这个社区有它的规则和政策。你倾倒的需求列表在这个地方的范围内构成一个有效的问题。

标签: mysql json rest stored-procedures database-trigger


【解决方案1】:

你可以使用 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;

【讨论】:

    【解决方案2】:

    基本上你不能。如果可以(通过使用 UDF 库),您不应该这样做。

    Mysql 是一个高性能的数据库引擎,你应该尊重它的核心竞争力。其他利益相关者正在等待您的查询或交易结束,他们会遭受痛苦,而您的则不会。它不是一个带有异步调用回调的网络服务器。触发器和存储过程需要进入和退出,因为它们经常在事务设置中使用。

    【讨论】:

    • 如果我想这样做,我该如何在windows上的mysql服务器中创建和安装UDF库。
    • 当然可以,是否“正确”、“按部就班”等由开发人员决定。不要以想象的限制来限制自己——我们有足够的真实的。
    猜你喜欢
    • 1970-01-01
    • 2018-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    相关资源
    最近更新 更多