php - MySql - 使用 IF 和 JOIN 插入

标签 php mysql

我正在尝试每 2 天为用户添加一次奖励积分。但我不确定如何加入 users 表并获取 user_bonus 值,该值指示用户上次获得奖金的时间。这可以在一个查询中完成吗?

插入查询:

INSERT INTO points_plus (user_id, points) VALUES (?,?);

这将是需要检查的 2 天间隔:

user_bonus <= NOW() - INTERVAL 2 DAY

用户表(部分)

+-------------+--------------+------+-----+-------------------+-----------------------------+
| Field       | Type         | Null | Key | Default           | Extra                       |
+-------------+--------------+------+-----+-------------------+-----------------------------+
| id          | int(11)      | NO   | PRI | NULL              | auto_increment              |
| weekly_mail | datetime     | YES  |     | NULL              |                             |
| user_bonus  | datetime     | YES  |     | NULL              |                             |
| join_date   | timestamp    | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------------+--------------+------+-----+-------------------+-----------------------------+

points_plus 表

+----+---------+--------+---------------------+
| id | user_id | points | date                |
+----+---------+--------+---------------------+
| 18 |      13 |    300 | 2015-10-07 12:06:39 |
| 43 |      13 |     99 | 2015-10-18 14:16:50 |
| 45 |      13 |    103 | 2015-10-19 05:49:49 |
+----+---------+--------+---------------------+

最佳答案

你可以试试这个。

INSERT INTO points_plus (user_id, points)
    SELECT id, $points
    FROM users
    WHERE user_bonus <= NOW() - INTERVAL 2 DAY

关于php - MySql - 使用 IF 和 JOIN 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33931542/

相关文章:

php - iOS 中图像未上传到服务器

php - SQL Rand() 给出结果集但无法获取结果

c# - MySql 语法错误 : You have an error in your SQL syntax near '' at line 1

mysql - 无法使 IF ELSE IF 语句起作用

Mysql - 如果不在同一天则计数

php - 使用 php 编辑 .doc 或 .docx 文件

php - 提交动态重复表格的最佳方式

php - 如何使用 eloquent 在 laravel 中编写多重连接

php - 用于整理图库中下一张/上一张图片的SQL

mysql - 将 MySQL Query 从一台服务器直接导入另一台服务器?