使用mysql的php轮询程序

使用mysql的php轮询程序,php,mysql,Php,Mysql,我正在做一个民意调查项目,我想知道,到目前为止,我看到的所有样本都使用了insert,然后计算每个答案的总投票数。我发现有一个包含答案字段和很多是、否和可能的表格是多余的 所以我在想,使用update而不是insert对我来说有效吗?例如,如果用户投票赞成,那么yes字段将递增?如果用户同时投票,会不会导致准确性问题?您的数据库使用事务,更新将是原子的。准确度没有问题 UPDATE MyTable SET MyColumn=MyColumn+1 WHERE MyVoteID=123 你应该有一

我正在做一个民意调查项目,我想知道,到目前为止,我看到的所有样本都使用了insert,然后计算每个答案的总投票数。我发现有一个包含答案字段和很多是、否和可能的表格是多余的


所以我在想,使用update而不是insert对我来说有效吗?例如,如果用户投票赞成,那么yes字段将递增?如果用户同时投票,会不会导致准确性问题?

您的数据库使用事务,更新将是原子的。准确度没有问题

UPDATE MyTable SET MyColumn=MyColumn+1 WHERE MyVoteID=123

你应该有一个答案表,之后你将有一个与用户和答案的关系。 您可以通过添加一些信息(datetime等)获得统计信息

我发现有一个包含答案字段和很多是、否和可能的表格是多余的

您还可以添加一些有用的信息,如投票时间、ip地址、cookie等

它会带来问题吗


嗯,默认情况下,MtSQL不再使用MyISAM。而且。。。这直接回答了他的问题,如果他使用“计票”更新,是否会出现“准确性”问题,显然不会。更新是原子性的,因为它不能与另一个进行交叉。我想强调的是,事务不是所有并发问题的解决方案。丢失更新、幻象读取、不可重复读取等可能会发生在事务中,也可能不会发生。我同意,它们不是所有问题的解决方案;绝对地然而,在这种情况下,如果他不在乎谁投票(这就是他的问题所暗示的),那么更新是一个很好的解决方案