加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

创建TRIGGER sys_exec和python

发布时间:2020-12-20 13:34:32 所属栏目:Python 来源:网络整理
导读:我在/usr/esercizi /上的 python是: #!/usr/bin/pythonimport datetimenow = datetime.datetime.now()aa = now.strftime("%Y-%d-%m %H:%M | %S")out_file = open("/usr/esercizi/test.txt","w")out_file.write("La data di oggi nn")out_file.write(aa)ou
我在/usr/esercizi /上的 python是:

#!/usr/bin/python
import datetime
now = datetime.datetime.now()
aa = now.strftime("%Y-%d-%m %H:%M | %S")

out_file = open("/usr/esercizi/test.txt","w")
out_file.write("La data di oggi nn")
out_file.write(aa)
out_file.close()

为测试目的而制作我喜欢从TRIGGER调用它:

mysql> CREATE TRIGGER `notifica_cambiamenti` AFTER UPDATE ON `valore`
    -> FOR EACH ROW BEGIN
    ->
    -> SET @exec_var = sys_exec(CONCAT('python /usr/esercizi/tre.py ',NEW.valore));
    -> END;
    -> $$
Query OK,0 rows affected (0.06 sec)

该表只有两列:id和valore.
每次更改valore都应运行tre.py

我也给:

chown mysql:mysql tre.py | and chmod 777 tre.py

查询OK,似乎表明没有语法错误
但文件没有任何反应:test.txt

我究竟做错了什么?

解决方法

您的问题已经解决,只需执行以下我为您的问题所做的…

CREATE TABLE log_table( datetime update_time,varchar() valore);

我刚刚创建了上表,其中更新的值将由触发器存储.

现在,我将触发器定义如下..

DELIMITER ;;

  CREATE TRIGGER `notifica_cambiamenti` AFTER UPDATE ON `valore`

  FOR EACH ROW

     BEGIN

       INSERT INTO log_table

          SET update_time = NOW(),valore      = NEW.valore);

   END;;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读