Php 代码存在时的增量值
我有一个MySQL表,有两列,第一列是IP地址,第二列是整数,应该递增 当一个新的IP访问该网站时,对应于该IP的整数应该增加1。 PHP脚本还应该处理数据库中已经存在IP地址的情况 这用于更新整数:Php 代码存在时的增量值,php,mysql,html,Php,Mysql,Html,我有一个MySQL表,有两列,第一列是IP地址,第二列是整数,应该递增 当一个新的IP访问该网站时,对应于该IP的整数应该增加1。 PHP脚本还应该处理数据库中已经存在IP地址的情况 这用于更新整数: UPDATE user SET points = points + 1 WHERE code = '$u' 这是为了向数据库添加一个新的ip(我使用“unique”属性,不能保存双值): 现在,我希望只有当一个新的IP访问该网站时,整数才会增加1。如果我能减少两个查询并在一个查询中完成工作,那就
UPDATE user SET points = points + 1 WHERE code = '$u'
这是为了向数据库添加一个新的ip(我使用“unique”属性,不能保存双值):
现在,我希望只有当一个新的IP访问该网站时,整数才会增加1。如果我能减少两个查询并在一个查询中完成工作,那就太好了。谢谢你的帮助。是的,你可以用这样的东西
INSERT INTO table (ip, code, points) values ('ip value', 'code value', 1) ON DUPLICATE KEY UPDATE points = points + 1 WHERE ip = 'ip value';
请注意,您需要在ip上使用主键或唯一索引才能使其正常工作。我不确定“code”值代表什么,因此如果update子句也是唯一键,那么它实际上可能会有问题
请注意,我在insert子句中为点添加了一个初始值1。
在重复键更新用户设置点=点+1,其中代码=“$u”
在MYSQL表中,有
点
DEFAULT=1您可以使用以下方法将两者合并在一起:
首先检查表中是否存在IP。如果没有,请插入。如果是的话,你可以更新。使用php检查IP是否存在并更新计数。谢谢!正是我所需要的:)
INSERT INTO table (ip, code, points) values ('ip value', 'code value', 1) ON DUPLICATE KEY UPDATE points = points + 1 WHERE ip = 'ip value';
INSERT INTO visitors (ip, code, counter) VALUES (INET_ATON($ip), '$code', 1) ON DUPLICATE KEY UPDATE counter = counter + 1;