Você está recebendo erro porque
- O
user_id
coluna é definida comoNOT NULL
- O
user_id
coluna não tem um valor padrão especificado - Você também não especifica o valor em sua consulta
PS:a pergunta é irrelevante para o
ON DUPLICATE KEY UPDATE
cláusula - seria o mesmo erro se você não a usasse também. PPS:independentemente de
ON DUPLICATE KEY UPDATE
acionado - seu insert
deve satisfazer todas as restrições