我目前有一个小型数据库更新程序,每次进入服务器时都会插入/更新用户的IP地址。由于这是在每隔2秒清空一次缓存的间隔上运行的,所以我真的想找到一个快速更新表的方法。
这是我目前正在使用的东西(MySQL只是遗憾地:()
INSERT INTO `iban_ipcache` VALUES (
'" + PlayerName + "',
'" + UpdatedTime + "', //This is just System.getCurrentMills
'" + PlayerIP + "')
ON DUPLICATE KEY UPDATE VALUES (
ip='" + PlayerIP + "',
time='" + System.currentTimeMills() + "';"
- 这是修改后可以更容易阅读,查询也使用`而不是' -
查询工作完美但是..我必须改变IP和时间,无论如何。因此,如果IP实际上没有变化,它仍然会尝试改变它。时间用于GUI原因和跨服务器更新原因。因此,基本上每次旧用户登录时,数据库都会像对待新IP一样对待它们。
我的问题是,有没有办法可以检查密钥和IP是否相同而不必使用Select?