potrzebujesz UNIKALNEGO KLUCZA na swoim stole, jeśli user_url to tweer_url, to powinno pasować (każdy tweet ma unikalny adres URL, id byłoby lepsze).
CREATE TABLE `hash` (
`user_url` ...,
...,
UNIQUE KEY `user_url` (`user_url`)
);
i lepiej jest użyć INSERT IGNORE w swoim przypadku
$query='INSERT IGNORE INTO hash (tweet, user, user_url) VALUES ("'.$tweet.'", "'.$user.'", "'.$user_url.'")';
ON DUPLICATE KEY jest przydatne, gdy chcesz zaktualizować istniejący wiersz, ale chcesz wstawić tylko raz