我从php获得此查询:
mysql_query("INSERT INTO ".table_hack." (id,ip,count,lasttime)
VALUES (NULL,'".$ip."',1,NOW())
ON DUPLICATE KEY UPDATE count=count+1, lasttime=NOW();");
正如您所看到的那样,只有当 Unique 元素不存在时才会在table_hack
上插入新记录,在我的情况下 ip 。如果该元素存在,则查询将使用 NOW()参数在{1}和count
中更新de lasttime
。
我想在同一个查询中知道count的值,有可能吗?我知道我可以进行另一个查询,但我想在一个查询(如果可能的话)。谢谢你的帮助!
答案 0 :(得分:0)
您无法组合INSERT和SELECT查询,因此您必须运行两个查询。为什么使用两个查询会有问题?
答案 1 :(得分:0)
不,你不能。
此外,我认为没有理由这样的愿望。
对我而言,这是一个有趣的现象。这些问题经常出现在Stackoverflow上,我很好奇为什么人们如此渴望将查询结合到一个调用中。 更令人惊讶的事实是,每个人都只用2个查询限制自己,没有人问如何将脚本中的所有查询组合成一个mysql调用。
答案 2 :(得分:-1)
你不能用标准的php mysql函数来做。您可以使用Mysqli驱动程序和方法multi_query()
来完成它,但它将是2个查询。