【mysql】关于在INSERT语句的条件里查询符合条件的记录,记录数小于某数则插入,大于则不插入?

如题,场景是成功发送短信后插入一条记录,条件是该日不超过短信发送上限【防止恶意发送短信】,伪代码如下

`#DAY_SEND_LIMIT=5
INSERT sms_send_record(mobile,sendDate) VALUES( '13888888888', NOW()) WHERE (SELECT COUNT(*) FROM sms_send_record WHERE mobile='13888888888' AND TO_DAYS(sendDate)= TO_DAYS(NOW()) <DAY_SEND_LIMIT )`

阅读 2.5k
2 个回答

自己去写业务代码控制这个操作,别啥都丢到sql里面处理

一般操作都是用缓存记录发送了多少次,每次插入之前判断。写sql是真的秀

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏