내 사이트에 사용자의 IP 주소를 기록하기 위해 노력하고, 나는 그래서중복 키를 올바르게 사용 하시겠습니까? 작동 안함. MySQL은/PHP
if (new ip address detected)
enter in to db
else if (ip address has already been recorded)
do nothing
에 로그온 나는 매번에게 사용자의 로그를 기록하지 오전 다음과 같은 흐름을 갖고 싶어 새 IP 주소에서 온 것입니다. 나는 올바른 코드를 가지고 있다고 생각했지만 중복은 여전히 DB에 들어가고있다. 누구든지 내가 잘못 가고있는 것을 볼 수 있습니까?
public function insertIpAddress($user_id, $user_ip) {
return $this->dbHandler->DbQuery("INSERT into user_ip (user_id, ip_address)
VALUES (?,?) ON DUPLICATE KEY UPDATE `user_id` = `user_id`",
array($user_id,$user_ip));
}
나는 또한 DUPLICATE KEY UPDATE ip_address
= ip_address
ON 시도했지만 문제가 해결되지 않았다.
을하며 다음과 같이 나오고 :
내 DB는 다음과 같습니다
ip_address user_id
10.245.1.38 378
10.245.1.38 378
열에 고유 한 키를 설정했을 수 있습니까? – RonaldPK
이 경우에는 중복 키 업데이트, 고유 인덱스/기본 키 및 간단한 삽입 만 필요하지 않습니다. – Shadow