如何在mysql中插入和更新视图计数?

时间:2016-09-13 06:54:13

标签: php mysql

如何计算mysql表中的视图值。如果第一个用户喜欢 viewdetails 表中的帖子,则插入一行 Counts 列值为1,如果下一个用户喜欢该帖子,则只更新 Counts 列(上一个计数值+1),不检查任何内容。
所以我尝试从互联网上获取sytax 重复密钥,但我不知道如何使用它。

我在下面试过

mvn -v

以上示例如下所示
第一次执行 Insert Counts => 2

第二次执行 更新计数=> 2

第3次执行 更新计数=> 2


但我需要如下
第一次执行 Insert Counts => 1

第二次执行 更新计数=> 1 + 1

第3次执行 更新计数=> 2 + 1

2 个答案:

答案 0 :(得分:1)

VALUES(Counts)是指input,而不是表格中的值。尝试类似:

INSERT INTO viewdetails
  (PostID,Counts)
VALUES
  (1, 1)
ON DUPLICATE KEY UPDATE
  Counts = Counts+1

答案 1 :(得分:1)

试试这个

INSERT INTO viewdetails
 (PostID,Counts)
VALUES
  (1, 1)
ON DUPLICATE KEY UPDATE Counts   = Counts + 1;
VALUES(col_name)子句中的

ON DUPLICATE KEY UPDATE指的是要插入的col_name的值