我想在我的網站記錄用戶的IP地址,我想有當重複鍵正確使用?不工作。 MySQL的/ PHP
if (new ip address detected)
enter in to db
else if (ip address has already been recorded)
do nothing
因此,用戶登錄,我沒有記錄每一次用戶登錄以下流只要它來自新的IP地址。我以爲我有正確的代碼,但重複仍然進入數據庫。任何人都可以看到我要去哪裏嗎?
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));
}
我也試圖對重複密鑰更新ip_address
= ip_address
,但沒有奏效。
我的DB是這樣的:
而且它出來是這樣的:
ip_address user_id
10.245.1.38 378
10.245.1.38 378
也許在列上設置唯一鍵? – RonaldPK
在這種情況下,您甚至不需要重複的密鑰更新,只需要一個唯一的索引/主鍵和一個簡單的插入。 – Shadow