Nous avons 2 tables comme celles-ci:vérifier MySQL si la ligne est existe pas, puis insérez (sans clé unique)
1: messages
ID Title Hits
1 Title 1 4
2 Title 2 7
3 Title 3 19
4 Title 4 8
2: hits
ID PostID IP
1 2 5.9.9.45
2 3 5.9.9.45
3 2 72.5.4.9
4 4 5.9.9.45
maintenant nous avons besoin d'une requête qui vérifie si une ligne avec un PostID ET une adresse IP spécifique n'existe pas dans la table 'hits', insère une nouvelle ligne et augmente le nombre de posts.Hits une unité (C'est un compteur).
Nous avons testé cette requête:
INSERT INTO table (field) VALUES (value) ON DUPLICATE KEY UPDATE field=value
Mais comme vous le voyez, IP et PostID ne peut pas être clé unique. Ils peuvent dupliquer pour différents utilisateurs. Y at-il un moyen d'insérer et de mettre à jour dans une requête s'il n'y a pas PostID + IP?
Le défi est le suivant: 1- Lorsqu'un utilisateur ouvre une page de publication, augmentez ce nombre de publications. 2- Si cet utilisateur ouvre un autre message, son hit augmente. 3- Si cet utilisateur ouvre une publication pour la deuxième fois, ne pas le faire! –
Ensuite, vous créez un index unique sur les hits comme @ gordon-linoff dit. –
Mise à jour de ma réponse avec un exemple d'insertion. –