gpt4 book ai didi

php - MySQL REPLACE 行,其中字段 a 等于 x,字段 b 等于 y

转载 作者:行者123 更新时间:2023-11-29 14:43:46 30 4
gpt4 key购买 nike

我正在尝试构建一个“新评论”功能,向用户显示自上次访问以来的新评论数量。我构建了一个“ View ”表,其中包含主题 ID、用户 ID 和时间戳。每次用户访问该主题时更新时间戳或插入新行(如果不存在)的最佳方法是什么?目前我有:

REPLACE INTO Views (MemberID, TopicID, Visited)
SET ('$_SESSION[SESS_MEMBER_ID]', '$threadid', '$t')
WHERE MemberID = $_SESSION[SESS_MEMBER_ID] AND TopicID = $threadid

但是,这不起作用。是否可以在一个查询中完成此操作?

最佳答案

尝试用 VALUES 替换 SET。语法为:

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name [(col_name,...)]
{VALUES | VALUE} ({expr | DEFAULT},...),(...),...

编辑:请注意,只有当您将 MemberIDTopicID 设置为表中的唯一键时,此方法才真正有效。如果您这样做,那么您应该能够执行以下任一操作:

REPLACE INTO Views (MemberID, TopicID, Visited)
VALUES ('$_SESSION[SESS_MEMBER_ID]', '$threadid', '$t')

INSERT INTO Views (MemberID, TopicID, Visited)
VALUES ('$_SESSION[SESS_MEMBER_ID]', '$threadid', '$t')
ON DUPLICATE KEY UPDATE Visited = '$t'

(当然,您应该使用正确的占位符,这样 Little Bobby Tables 就不会访问并破坏您的数据库)

关于php - MySQL REPLACE 行,其中字段 a 等于 x,字段 b 等于 y,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7438401/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com