Você está recebendo este erro porque está tentando adicionar/atualizar uma linha para
table2
que não tem um valor válido para o UserID
campo baseado nos valores atualmente armazenados em table1
. Se você postar mais algum código, posso ajudá-lo a diagnosticar a causa específica.