Es muy probable que sus sourcecodes_tags
la tabla contiene sourcecode_id
valores que ya no existen en sus sourcecodes
mesa. Tienes que deshacerte de eso primero.
Aquí hay una consulta que puede encontrar esos ID:
SELECT DISTINCT sourcecode_id FROM
sourcecodes_tags tags LEFT JOIN sourcecodes sc ON tags.sourcecode_id=sc.id
WHERE sc.id IS NULL;