如何添加MySQL值来创建投票系统


How do you add to a MySQL value to create a voting system?

我目前正在尝试创建一个投票系统,允许用户在特定视频中添加投票。我可以从数据库表中检索当前的投票数,但我不知道如何在总数中添加一个,然后在单击按钮时将该值重新插入数据库。任何帮助都将不胜感激!

最好保存所有选票的历史记录,然后使用count(*)group by计算总数。

select answer, count(*) from vote group by answer;

如果两个人同时尝试投票,这将避免种族情况,并且您可以在投票表中添加用户用户id、会话id、ip地址等列,以便稍后查找可疑的投票模式。

使用类似以下的mysql查询:

UPDATE table SET voteCount = voteCount+1 WHERE video = ?

单独的计票和用户投票表。

您可以尝试在数据库中自己的表中添加投票,例如:

INSERT INTO votes_tables (id, user_id, video_id, vote_up, vote_down, date) VALUES (NULL, '5', '10', '1', '', NOW());

在另一个表中,您有视频存储视频投票值的列表(递增、递减状态(:

支持票:

UPDATE votes_table SET votes = votes + 1 WHERE video_id = ?

否决票:

UPDATE votes_table SET votes = votes - 1 WHERE video_id = ?

这种方法可以将谁和何时被投票+统计票数分开。该方法避免了使用GROUP_BY,可以加快数据的返回结果。

使用COUNT(*(或SUM((可能发生减速:

为提高速度,其中为count(*(的行应为INDEX,因此表中的数据索引由于性能提高而增加。性能之争:MySQL中是否可以加速sum((?