Si su columna num es un tipo numérico válido, su consulta debería funcionar como está:
UPDATE tbl1 SET num = (SELECT COUNT(*) FROM tbl2 WHERE id=tbl1.id)
Si su columna num es un tipo numérico válido, su consulta debería funcionar como está:
UPDATE tbl1 SET num = (SELECT COUNT(*) FROM tbl2 WHERE id=tbl1.id)