MySQL如何用触发器实现新增时删除最后一条数据

MySQL如何用触发器实现新增时删除最后一条数据,第1张

首先mysql 只支持3种触发器

1 DELETE2 INSERT 3 UPDATE

其他的MySQL语句不支持触发器,所以你第二个需求不能用触发器实现。

其次是 非常遗憾,MYSQL中触发器中不能对本表进行 insert ,update ,delete *** 作,以免递归循环触发。所以你第一个需求不能在insert前删除本表数据

对于update 能用set 进行 *** 作替换,insert与delete只能借助第二张表才能实现需要的目的。

首先在sql中查询计划事件的状态:SHOW

VARIABLES

LIKE

'event_scheduler'

如果返回的是off表示当前是关闭状态,如果是on当前已经开启了计划任务。

在mysql程序的目录下找到my.ini文件,添加一个项:event_scheduler

=

1

保存后重启mysql服务即可,重启服务可以在服务管理里面找到

也可以用脚本来实现:

mysql

event_scheduler

开启event_scheduler

sql指令:

SET

GLOBAL

event_scheduler

=

ON

SET

@@global.event_scheduler

=

ON

SET

GLOBAL

event_scheduler

=

1

SET

@@global.event_scheduler

=

1

相反,关闭event_scheduler指令:

SET

GLOBAL

event_scheduler

=

OFF

SET

@@global.event_scheduler

=

OFF

SET

GLOBAL

event_scheduler

=

0

SET

@@global.event_scheduler

=

0

添加 执行SQL 语句后在来个 查询 影响行数

添加语句

$num = mysql_num_rows($result)

然后判断如果影响行数不等于0就执行删除

if($num!=0){

删除语句


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8550400.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存