Muito provavelmente seus
sourcecodes_tags
tabela contém sourcecode_id
valores que não existem mais em seus sourcecodes
tabela. Você tem que se livrar deles primeiro. Aqui está uma consulta que pode encontrar esses IDs:
SELECT DISTINCT sourcecode_id FROM
sourcecodes_tags tags LEFT JOIN sourcecodes sc ON tags.sourcecode_id=sc.id
WHERE sc.id IS NULL;