Sie brauchen einen EINZIGARTIGEN SCHLÜSSEL auf Ihrer Tabelle, wenn user_url tweer_url ist, dann sollte dies passen (jeder Tweet hat eine eindeutige URL, ID wäre besser).
CREATE TABLE `hash` (
`user_url` ...,
...,
UNIQUE KEY `user_url` (`user_url`)
);
und es ist besser, INSERT IGNORE in Ihrem Fall zu verwenden
$query='INSERT IGNORE INTO hash (tweet, user, user_url) VALUES ("'.$tweet.'", "'.$user.'", "'.$user_url.'")';
ON DUPLICATE KEY ist nützlich, wenn Sie eine vorhandene Zeile aktualisieren müssen, aber nur einmal einfügen möchten