倒计时点击mysql

时间:2018-04-17 08:41:37

标签: php mysql

我的网站上有点击次数。 例如,每个用户个人资料可以在页面上显示500次。每次出现我都会减少1。

 CREATE TABLE IF NOT EXISTS `show_profile` (   
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,   
`user` INT(11) UNSIGNED NOT NULL,   
`count`INT(11) UNSIGNED NOT NULL,   
`data` datetime NOT NULL,   
PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

计数有500.每次出现(兰特)我将删除1. 499,498。 但这个数字必须精确。如果2个用户同时打开一个页面,而mysql两个都获得499,那么它只会减少1个。

任何想法如何准确地做到这一点?

1 个答案:

答案 0 :(得分:1)

每个sql查询都是原子执行的。这意味着,如果在sql语句中递减计数器,则总是得到正确的结果 - 即使两个查询在同一时间执行。

UPDATE show_profile SET count = count - 1 WHERE id = ? AND count > 0