php - 使用 EVENTS 时从服务器收集权限的问题(服务提供商说不可能开启)。我还有其他可能的选择吗?
问题描述
我使用事件将我的查询插入到每小时的平均结果中(这是根据今天来的客户数量和他们各自从一开始就到达的总数计算得出的)。事件成功运行并在我的本地主机上成功插入每小时所需的值。但主要问题是将事件加载到 Server Db 中,因为我们的服务提供商拒绝开启 Superprivileges。现在我需要找到另一个解决方案而不是事件
这是我对事件的查询,我们可以尝试其他方式吗?
CREATE EVENT average_visiter
ON SCHEDULE
EVERY 1 DAY
STARTS '2014-04-30 00:20:00' ON COMPLETION PRESERVE ENABLE
DO
INSERT INTO `test_table`( `res_id`, `b_id`, `total_visit`, `tota_count`)
SELECT res_id,b_id,sum(total_visit),count(cust_phone) FROM
`customer_ledger` WHERE cust_phone IN (SELECT cust_phone FROM
customer_ledger where DATE(last_visit)=CURRENT_DATE()-1) GROUP BY res_id,b_id
我需要自动以任何其他方式放置相同的插入查询。我对触发器和存储过程没有足够的知识。请记住,我需要将日常详细信息单独显示在表格中
解决方案
我使用的是触发器而不是事件
USE feetobristo;
DELIMITER $$
DROP TRIGGER IF EXISTS feetobristo.customer_ledger_AFTER_INSERT$$
USE `feetobristo`$$
CREATE DEFINER=`feeto`@`localhost` TRIGGER feetobristo.customer_ledger_AFTER_INSERT
AFTER INSERT ON customer_ledger FOR EACH ROW
BEGIN
INSERT INTO test_table( res_id, b_id, total_visit, tota_count)
SELECT res_id,b_id,sum(total_visit),count(cust_phone) FROM
customer_ledger WHERE cust_phone IN (SELECT cust_phone FROM
customer_ledger where DATE(last_visit)=CURRENT_DATE()) GROUP BY res_id,b_id;
END$$
DELIMITER ;
现在工作得很好 ta-ta
推荐阅读
- r - 在 R 中查找缺失的行
- android - Kotlin:保存帐户信息的最佳方式
- flutter - 当有些标记和折线来自提供者而有些是在我的主类中生成时,如何清除所有标记和折线?
- ios - iOS AppDelegate.m:处理 openUrl RCTLinkingManager 和 Twitter - 方法 'application:openURL:options:' 的重复声明
- java - Firebase“.info/connected”最初返回 false,然后返回 true
- python - 有没有办法遍历数据框并根据列表在新列中分配一个值?
- wordpress - 如何从谷歌云平台下载 WordPress 文件
- bash - 如何在bash中连续获取唯一值(使用awk?)
- amazon-web-services - SES:使用 aws cli '禁用活动规则集'
- javascript - 如何在 React.js 中的按钮之间切换焦点?