- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试创建一个根据日期和用户 ID 记录步骤的表。但是当我运行我的代码时,如果用户每天多次记录他们的步骤,我会碰巧得到重复的行。我不能用唯一键指定日期,因为如果其他用户在同一天记录了步数,那会导致所有其他用户无法记录步数。所以我的观点是,我想删除具有用户 ID 和日期相同的重复行的选项。我有两张 table
表a和表b,我将它们称为something.a和something.b
在使用 $entry = "SELECT * FROM table.a WHERE userid.a = '$user_id.b' AND date=NOW()"
我想用它作为决定 UPDATE
或 INSERT INTO
table.a 的条件。我从以前的查询中得到了 user_id.b
,它按原样工作,所以我暂时保留它。
下面是我查询数据库的方式:
$entry_result = mysqli_query($conn, $entry);
这里用到的是:
if (mysqli_num_rows($entry_result) > 0){
$conn->query("UPDATE steplogger SET steps='$steps' WHERE userid='$user_id' AND date=NOW()");
} else {
$conn->query("UPDATE users SET totalsteps = totalsteps + ('$steps') WHERE username = '$user'");
$conn->query("INSERT INTO steplogger (steps, userid, date) VALUES ('$steps', '$user_id', NOW())");
}
对我做错了什么有什么想法吗?
附言。当我 echo $entry_result
时,我得到一个 mysqli 对象。
最佳答案
正如你所说:
I want to remove the option of having duplicate rows where user id and date
最好的方法是在 user_id
和 date
上创建一个 UNIQUE 索引,这样你就不能插入具有相同 user_id< 的两行
和 日期
。
使用 UNIQUE 索引,您可以使用 INSERT...ON DUPLICATE KEY UPDATE
这将执行您想要的操作:您将插入一个新行(新 user_id
+ date
),如果已存在具有相同 user_id
和 date
的行,您将更新该行。
这是文档:https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html
关于php - 选择 date=NOW()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52990762/
遇到 now() 在 Postgres 中的函数中使用时的行为与“now”不同的问题。 drop table if exists test_date_bug; CREATE TABLE test_da
Google 刚刚发布了一项名为 Now on Tap 的 Google Now 新功能。它使用户能够从不同的应用程序 (The Verge video example) 获得上下文帮助。 是否只是截
performance.now() 和 Date.now() 有什么区别? 我是否应该将 performance.now() 视为 Date.now() 的替代品,因为 performace.now(
需要了解为什么我会得到时差。 这是我的 VBA 代码: Public OHLCArray(1 To 481, 0 To 28, 0 To 3) As Single 'debug stm
假设: rAF now时间是在所有回调集被触发时计算的。因此,在调用该帧的第一个回调之前发生的任何阻塞都不会影响 rAF now它是准确的——至少对于第一次回调来说是这样。 在触发 rAF 集之前进行
在我的程序中,每个表都有一列 last_modified: last_modified int8 DEFAULT (date_part('epoch'::text, now()::timestamp)
这是 Form1 中的代码: private DateTime dt; [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLa
什么时候应该使用 django 的 timezone.now() 以及什么时候应该使用 python 的 datetime.datetime.now()。 例如,在下面的 INSERT 中哪个更有意义
我正在将我的项目从 Django 1.8.2 升级到 1.9.7,我收到了这个警告: WARNINGS: my_app.my_model.date_available: (fields.W161) F
我应该在我的 Rails 应用程序中使用两者中的哪一个: DateTime.now or Time.now 在应用程序中同时使用两者有什么坏处吗? 在上述 (now) 示例中,两者之间是否存在任何差异
这个问题已经有答案了: Date vs new Date in JavaScript (8 个回答) 已关闭 6 年前。 我更多地谈论添加“new”如何影响变量,为什么/何时使用它,以及为什么我在打印
// Data-Bind is Here // Data-Bind is Here Show
我想做一个查询来检查今天是否有值,如果没有,则显示今天之前最近的条目。 这是我使用的查询: $variable = 'var1'; SELECT * FROM `table` WHERE `somet
我有一个表,其中有一列 event_time。如何选择 NOW() 之前的两行和 NOW() 之后的下一行,按 event_time 排序? 单个查询是否可行? 最佳答案 怎么样 SELECT * F
我如何向 Google Now 提供我的信息或我的应用程序数据卡片?有没有我可以使用的 API? 最佳答案 Google Now API 仅提供给在 Google 注册其应用程序的用户,它一直是私有(
...当我尝试执行如下所示的查询时: Session().query(MyMappedClass).update({MyMappedClass.time:func.now()}) 我得到: Inval
我试图了解 time.Now() 和 time.Now().Local() 之间的区别。我首先在我的笔记本电脑上打印它们(运行 Ubuntu 18.04): fmt.Println(time.Now(
假设我有一个包含三个字段的数据库表:id、内容和时间戳。 全天都会收到参赛作品,因此会有大量参赛作品,并且仍会定期收到参赛作品。 当访问者查看将显示条目的网页时,该页面将显示最近的 10 个条目以及访
我对夏令时处理有点困惑 设置.py: TIME_ZONE = 'Europe/London' USE_TZ = True 在 django shell 中: >>> from django.utils
我正在使用 node.js 和 now.js。一切正常。但我想制作一个可以从命令行运行的简单客户端(因此无需浏览器)。 http://nowjs.com/doc/example 在示例中,提供了一个
我是一名优秀的程序员,十分优秀!