php - sql中的事件通知错误

标签 php mysql sql sql-server

我已经编写了事件通知代码,如下所示。我已将事件设置为日期和时间。在那个特定时间,我指定了一些操作,例如将一些信息存储在另一个名为 PT 的表中。我没有收到任何错误,但在事件时间之后信息也没有存储在 PT 中。 任何想法...

DROP EVENT `t1` ;

CREATE DEFINER = `root`@`localhost` EVENT `t1` ON SCHEDULE AT '2014-02-17 03:43:00' ON COMPLETION PRESERVE DISABLE DO BEGIN INSERT INTO PT( pname, Dname, Test_name )
SELECT Patient.pname, Doctor.Docname, Tests.Test_name
FROM Patient, Doctor, Tests, Assist
WHERE (Assist.Date = '2014-02-17 03:43:00') AND (Assist.Pid = Patient.pid) AND (Assist.Did= Doctor.Did) AND (Assist.Tid = Tests.Tid);

END

最佳答案

您需要完成事件调度程序配置才能使事件正常运行。

事件调度程序的默认状态为禁用
您需要通过以下任何语句来启用它。

SET GLOBAL event_scheduler = ON;
SET @@global.event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
SET @@global.event_scheduler = 1;

当事件调度程序为ON时,事件调度程序线程作为守护进程在 SHOW PROCESSLIST 的输出中列出,其状态如下所示:

mysql> SHOW PROCESSLIST\G
*************************** 1. row ***************************
     Id: 1
   User: root
   Host: localhost
     db: NULL
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
*************************** 2. row ***************************
     Id: 2
   User: event_scheduler
   Host: localhost
     db: NULL
Command: Daemon
   Time: 3
  State: Waiting for next activation
   Info: NULL
2 rows in set (0.00 sec)

一旦事件调度程序设置为“ON”,您就会看到它正在工作。

引用:MySQL Event Scheduler Configuration

关于php - sql中的事件通知错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21826212/

相关文章:

mysql - 我可以使用相对路径将csv文件导入mysql吗?

MySql IEEE 浮点 NaN、PositiveInfinity、NegativeInfinity

mysql - 如果表中某个字段的特定值不存在,如何插入记录(sql查询)?

php - MySqli 多个查询如何更快地处理结果

php - 添加后的 Codeigniter 查询

php - Kohana 3.2 session 过早过期,较短的过期时间按预期工作

php - 为初学者覆盖 Magento 管理 Controller

mysql - 如何查找具有引用特定 table.column 的外键并具有这些外键值的所有表?

mysql - SQL仅选择列上具有最大值的行

sql - 插入删除的数据,加上一些硬编码值,输出语句