19-06-2017, 07:12 PM
Salut,
Ta demande n'a pas de sens en fait, car "ON DUPLICATE KEY UPDATE" fait exactement ce que la traduction suggère: "Si l'insertion génère un doublon, mettre à jour la ligne existante". Donc, tu n'as juste pas besoin de "WHERE":
Nota: j'ai remplacé ton dernier paramètre de requête par VALUES(nb_batiments), qui signifie "la valeur de la colonne [nb_batiment] si l'insertion avait eue lieu".
Ta demande n'a pas de sens en fait, car "ON DUPLICATE KEY UPDATE" fait exactement ce que la traduction suggère: "Si l'insertion génère un doublon, mettre à jour la ligne existante". Donc, tu n'as juste pas besoin de "WHERE":
Code :
INSERT INTO batiments_users (`id_user`,`id_batiment`,`nb_batiment`)
VALUES (:id_user, :id_batiment, :nb_batiment)
ON DUPLICATE KEY UPDATE nb_batiment= VALUES(nb_batiment)
Nota: j'ai remplacé ton dernier paramètre de requête par VALUES(nb_batiments), qui signifie "la valeur de la colonne [nb_batiment] si l'insertion avait eue lieu".