mysql - 如果值为 x 或 y,则 MySQL 更新
问题描述
我有以下程序可以帮助我每天更新表格中的日期,使它们与演示目的相关。这两个过程之间的区别仅在于它们分别为 2 个不同的客户property_id
端2
执行3
。
UPDATE `opera_pms_detail` SET `arrival` = SUBDATE(curdate(), 2), `departure` = SUBDATE(curdate(), 1), `read_on` = NULL WHERE `property_id` = 2 AND `import_type` = '1'
UPDATE `opera_pms_detail` SET `arrival` = SUBDATE(curdate(), 2), `departure` = SUBDATE(curdate(), 1), `read_on` = NULL WHERE `property_id` = 3 AND `import_type` = '1'
现在,为了效率,有没有更好的方法呢?不必两次调用该过程,我可以在一次调用中更新两个客户端的列吗?
谢谢
解决方案
尝试像这样实施您的程序
PROCEDURE ýour_procedure_name(IN p_property_id INT)
BEGIN
UPDATE `opera_pms_detail`
SET `arrival` = SUBDATE(curdate(), 2),
`departure` = SUBDATE(curdate(), 1),
`read_on` = NULL
WHERE `property_id` = p_property_id
AND `import_type` = '1';
END
你将把你的程序称为:
CALL `your_procedure_name`(property_id)
推荐阅读
- video - 如何使用选定的音频流将视频转换为 hls?
- uinavigationbar - 为什么不透明和透明 UINavigationBarAppearance 的 view.safeAreaInset 相同?
- reactjs - SIP 与 JS 中的呼叫会议集成
- flutter - Webview颤动android兼容minSDK问题
- sql - 空日期返回 1900-01-01
- flutter - Flutter:如何获取 Draggable 的左上角?
- python - 从字典中删除双引号
- recursion - 递归函数的时间复杂度,在每一步将输入大小减小到 floor(n/2)
- mysql - 我想要 sql 查询来更改会员状态
- eclipse-plugin - 从活动目标平台导入片段的问题