/ / Utilisation de “on duplicate key” avec une condition de duplication multiple - mysql, on-duplicate-key

Utilisation de “on duplicate key” avec plusieurs conditions de duplication - mysql, on-duplicate-key

J'ai table contient des questions de données. De plus, chaque question a un identifiant de test, un identifiant de document (dokuman_id), un ordre (sira) et des données vidéo. Je souhaite créer une requête qui insère une nouvelle ligne s’il n’existe pas "une ligne ayant les mêmes ID de test, ID de document et ordre; sinon, il suffit de mettre à jour le champ vidéo.

entrer la description de l'image ici

Je sais que je pourrais utiliser ON DUPLICATE KEY si je veux le faire avec la colonne id (primart_key). Mais je dois contrôler 3 conditions de colonne en double aussi optimales que possible.

Réponses:

1 pour la réponse № 1

vous devriez créer un index sur test_id , dokuman_id , sira

INSERT INTO table (test_id , dokuman_id , sira , video)
VALUES(:test_id , :dokuman_id , :sira , :video)
ON DUPLICATE KEY UPDATE video = :video