Mysql
 sql >> Database >  >> RDS >> Mysql

Come utilizzare SQL - INSERT...ON DUPLICATE KEY UPDATE?

hai bisogno di una CHIAVE UNICA sulla tua tabella, se user_url è tweer_url, allora questo dovrebbe adattarsi (ogni tweet ha un URL univoco, id sarebbe meglio).

CREATE TABLE `hash` (
  `user_url` ...,
  ...,
  UNIQUE KEY `user_url` (`user_url`)
);

ed è meglio usare INSERT IGNORE sul tuo caso

$query='INSERT IGNORE INTO hash (tweet, user, user_url) VALUES ("'.$tweet.'", "'.$user.'", "'.$user_url.'")';

SU CHIAVE DUPLICATA è utile quando devi aggiornare una riga esistente ma vuoi inserirla solo una volta