首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制用户每天向mysql中添加新记录

问限制用户每天向mysql中添加新记录
EN

Stack Overflow用户
提问于 2016-12-13 11:44:39
回答 2查看 58关注 0票数 0

我正在开发一个应用程序,用户应该在一天内点击并发送两次图片,但我不知道该如何做,我想给用户一个限制,他一天可以发送两次图片,不超过that.Assume,即10卢比是每条记录的一个金额,所以应该是每天20卢比。

代码语言:javascript
复制
$sql = "INSERT INTO `daily_uploads` (img_path, geoplugin_city, geoplugin_regionName, date, amount)
VALUES ('$img', '$city', '$region',  '$date','$amount')";
if ($conn->query($sql) === TRUE) {

echo"success";

}

else{
    echo"Something wrong";
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-13 11:58:43

看看今天用mysql做了多少个条目:

代码语言:javascript
复制
SELECT COUNT(*) FROM `daily_uploads` WHERE DATE_FORMAT(`date`, '%Y-%m-%d') = CURDATE();

使用此信息禁止在PHP中插入。

票数 1
EN

Stack Overflow用户

发布于 2016-12-13 12:12:20

如果我正确理解了你的问题,你只能有两条记录给每个用户。这通常是使用CHECK约束完成的,但不幸的是mysql不支持这一点,因此我们必须使用触发器。

代码语言:javascript
复制
CREATE TRIGGER daily_uploads_check
BEFORE INSERT ON daily_uploads
FOR EACH ROW
BEGIN
  IF( SELECT COUNT(*) FROM daily_upates WHERE /* conditions here */ ) =2  THEN
    SIGNAL 'your error message'
  END IF 
END

您应该在执行select查询后立即执行鱼缸锁,以确保没有其他线程正在进行插入。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41120323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档