zoukankan      html  css  js  c++  java
  • navicat与phpmyadmin做mysql的自定义函数和事件

    自定义函数和事件是mysql一个很方便的功能,navicat在5.1以上版本就支持了自定义函数和事件,phpmyadmim不清楚。

    用这个是由于一些简单的事情,没有必要去做一个服务器计划使用

    接下来我们来做一个简单用户签到的功能


    用户签到功能 每天需要更新用户的签到状态我们这里的status就是签到状态 0-未签到 1-已签到

    使用mysql的自定义函数和事件让他自动去执行,这样我们在程序中就不用去做对比了

    首先我们建库建表

    一. navicat 怎么进行操作

    1.

     在完成这些操作以后,我们还需要查看数据库是否支持事件

    在sql命令行中运行这句话

    如果设置中为off或者1

    执行下面这句

    把他修改为on或者1

     这一步是必须的,不然在创建事件的时候会报错

    2在user库中我们看到函数和事件

    3.点击函数后选择新建函数

    4.选择过程,直接点击完成

    5.然后在其中写需要执行的操作

    6.

     

    Navicat 函数高级属性

    6.1:安全性:指定用创建函数的用户权限来运行函数,或是用启用它的用户权限来运行。

    定义者:默认定义者值是运行 CREATE PROCEDURE 或 CREATE FUNCTION 语句的的用户,和 DEFINER = CURRENT_USER 相同。如果给予一个用户值,它应该是一个 'user_name'@'host_name' 格式的 MySQL 帐号(使 用在 GRANT 语句相同的格式),user_name 及 host_name 值都是必须的。

    6.2:数据访问:提供一些特性信息关于函数使用的数据性质。

     ● Contains SQL:表示函数不包含读或写数据的语句。如果没有明确给予特性,这是默认的。

     ● No SQL:表示函数不包含 SQL 语句。

     ● Reads SQL Data:表示函数包含读数据的语句,但不包含写数据的语句。

     ● Modifies SQL Data:表示函数包含写数据的语句。

    6.3:决定性:如果函数或过程总是对同样的输入参数生成同样的结果,则被认为它是决定性,否则就是非决定性。

    7.然后直接点击保存就可以了,我们这里把他保存为user_sign,然后点击事件,找到新建事件这两步操作和自定义函数是相同的,不会对比图7.图8

    8.然后在定义中执行,我们创建的自定义函数user_sign

    9.  参数阐述

    定义者:指定当在事件运行时检查访问权限要使用的用户帐号。默认定义者值是运行 CREATE EVENT 语句的的用户。(和DEFINER = CURRENT_USER 相同。)如果给予一个用户值,它应该是一个 'user_name'@'host_name' 格式的MySQL 帐号(使用与 GRANT 语句相同的格式)。user_name 及 host_name 值都是必须的。

    状态:可以创建一个事件但可以用 DISABLE 关键字保持不激活。或者可以用 ENABLE 默认状态,这是激活

    ON COMPLETION:正常情况下,一旦事件已过期,它将立即删除。可以通过指定 ON COMPLETION PRESERVE 来重写此性能。ON COMPLETION NOT PRESERVE 只是使默认非持久性的性能明确。

    10.上面的定义者不用设置,会默认加载上去,如果你需要设定用用户在填写,然后我们点击

    计划中的参数说明:

    AT:包含日期和时间,或必须是一个解析为 datetime 值的表达式。使用+INTERVAL 来创建一个事件,它发生在与当前日期和时间有关的将来某个时刻。

    EVERY:在定期间隔重复的行动,可以在 EVERY 子句之后加 interval。(+INTERVAL 与 EVERY 不能同时使用。)

    STARTS:EVERY 子句还可能包含一个非必须的 STARTS 子句。STARTS 之后的 timestamp 值表示行动应该何时开始重复,也可以用+INTERVAL 间隔指定「由现在开始」的时间量。

    ENDS:EVERY 子句还可包含一个非必须的 ENDS 子句。ENDS 关键字之后的 timestamp 值告诉 MySQL 何时停止重复事件。也可以用+INTERVAL 间隔与 ENDS 一起。

    备注:timestamp 是必须发生在未来不能安排在过去的一个事件。

    我们这里设置的事每隔1分钟执行一次,在2017-04-07 14:54:00开始执行,没有设置结束时间那这个时间就不会销毁,会一直执行下去

    参照上面所说肯定成功,不成功你找我 

     二:phpmyadmin

    这个就简单说一下

    phpmyadmin中设定自定义函数是打开库以后,点击上方的功能栏,点击程序进行设置,很简单

    在函数设置好后,上方功能栏有一个事件点击就好了,但是也要开启事件,这个就简单多了,你可以看到开启时间的按钮,直接点击就好了

    开启后直接添加事件就可以了,可以很直观的看清你所要进行的操作

    这就是使用数据库管理工具来设定自定函数和事件 完成一些简单的日常更新状态

      

  • 相关阅读:
    全局数据库名称/数据库实例/SID 的区别
    【转载】ORACLE 10G DBCA创建脚本实现手动创建数据库
    apue 20130328
    apue 20130323
    visual c++6.0
    C语言
    apue 20130322
    apue 20130324
    apue 20130325
    C语言里的字符串解析
  • 原文地址:https://www.cnblogs.com/wang1204/p/6678966.html
Copyright © 2011-2022 走看看