如何每次将mysql表中的值增加1,例如,如果按下某个链接?
您是从数据库获取数据然后将1添加到数据库然后将其发回?我认为这会使用很多带宽。
任何例子和帮助都将不胜感激,
谢谢!
添加了:
我还想跟踪谁在数据库中按下了链接,我是否必须添加点击该链接的用户ID,以便他们无法点击两次这样的事情?
答案 0 :(得分:5)
您可以简单地使用这样的UPDATE
语句来增加计数器字段:
UPDATE your_table
SET your_counter = your_counter + 1;
如果您想跟踪点击链接的用户,则必须创建另一个表,可能包含时间戳字段,user_id字段和link_url(或link_id)字段。然后,只要有人点击链接,您就可以在该表中插入一个新行:
INSERT INTO clicks (click_timestamp, user_id, link_url)
VALUES (NOw(), 100, '/news.html');
请注意,NOW()
函数会返回当前日期和时间。
如果要添加约束以使用户无法单击链接两次,则可以在(user_id, link_url)
上设置复合主键。主键附带的唯一约束可确保您不能多次使用与特定用户关联的相同链接。因此,这就是您的clicks
表格的样子:
CREATE TABLE clicks (
user_id int,
link_url varchar(255),
click_timestamp datetime,
PRIMARY KEY (user_id, link_url)
);
答案 1 :(得分:0)
update tbl set counter = counter + 1