Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie verwende ich SQL - INSERT...ON DUPLICATE KEY UPDATE?

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