事件计划程序状态
事件调度程序将有关事件执行的信息(以错误或警告结尾)写入MySQL Server的错误日志。有关示例,请参见“事件调度程序和MySQL特权”。
要获取有关事件计划程序状态的信息以进行调试和故障排除,请运行mysqladmin debug(请参见“mysqladmin-用于管理MySQL服务器的客户端”);运行此命令后,服务器的错误日志包含与事件计划程序有关的输出,类似于此处显示的内容:
Events status: LLA = Last Locked At LUA = Last Unlocked At WOC = Waiting On Condition DL = Data Locked Event scheduler status: State : INITIALIZED Thread id : 0 LLA : init_scheduler:313 LUA : init_scheduler:318 WOC : NO Workers : 0 Executed : 0 Data locked: NO Event queue status: Element count : 1 Data locked : NO Attempting lock : NO LLA : init_queue:148 LUA : init_queue:168 WOC : NO Next activation : 0000-00-00 00:00:00
在作为事件计划程序执行的事件的一部分出现的语句中,诊断消息(不仅错误,而且警告)被写入错误日志,并在Windows上写入应用程序事件日志。对于频繁执行的事件,可能会导致记录许多消息。例如,对于语句,如果查询不返回任何行,则会出现错误代码1329的警告(),并且变量值保持不变。如果查询返回多行,则会发生错误1172()。无论哪种情况,都可以通过声明条件处理程序来避免记录警告。请参见“ DECLARE ... HANDLER语句”SELECT ... INTO var_list
No data
Result consisted of more than one row
。对于可能检索多行的语句,另一种策略是使用LIMIT 1
将结果集限制为单行。