Vous obtenez une erreur car
- Le
user_idla colonne est définie commeNOT NULL - Le
user_idla colonne n'a pas de valeur par défaut spécifiée - Vous ne spécifiez pas non plus sa valeur dans votre requête
PS :la question n'a aucun rapport avec la ON DUPLICATE KEY UPDATE clause - ce serait la même erreur si vous ne l'utilisiez pas également.
PPS :que le ON DUPLICATE KEY UPDATE déclenché - votre insert doit satisfaire toutes les contraintes