J'ai un script qui capture les tweets et les met dans une base de données. Je vais exécuter le script sur un cronjob et ensuite afficher les tweets sur mon site à partir de la base de données pour éviter d'atteindre la limite de l'API Twitter. Donc, je ne veux pas avoir de tweets en double dans ma base de données, je comprends que je peux utiliser 'INSERT ... ON DUPLICATE KEY UPDATE' pour y parvenir, mais je ne comprends pas très bien comment l'utiliser.Comment utiliser SQL - INSERT ... ON DUPLICATE KEY UPDATE?
Ma structure de base de données est la suivante.
Tableau - Hash id (auto_increment) Tweet utilisateur user_url
Et actuellement mon SQL pour insérer est la suivante:
$tweet = $clean_content[0];
$user_url = $clean_uri[0];
$user = $clean_name[0];
$query='INSERT INTO hash (tweet, user, user_url) VALUES ("'.$tweet.'", "'.$user.'", "'.$user_url.'")';
mysql_query($query);
Comment puis-je utiliser correctement « INSERT ... ON DUPLICATE KEY UPDATE 'à insérer seulement s'il n'existe pas, et mettre à jour si c'est le cas?
Merci
http: // dev .mysql.com/doc/refman/5.0/fr/insert-on-duplicate.html –
Vous avez besoin d'un "champ unique" dans la liste des champs à insérer. Si 'tweet',' user' et 'user_url' sont des champs normaux (c'est-à-dire qu'ils ne sont pas' uniques'), cela ne fonctionnera pas. – binaryLV