If one column is of type int and say has a value 10. The other column is of type varchar and has a value of \'10\'. Is it safe to join on these values (mySql), and would I
you should be fine as long as you explicitly convert the data such that the comparison ends up being done in equivalent datatypes.
based on your description you will need to convert the int datatype to varchar before you make the comparison. take care to trim blanks and be mindful if capitalization is set on your db. also - int comparisons are much faster than varchar comparisons.
There are two problems with this approach:
MySQL will not use indexes on such join - which may or may not be a huge deal depending on your circumstances (table size / query / etc...)
Database design-wise this smells fishy. Perhaps it's my poor imagination :-) but I can't think of an example where something like this would be justified. If it's a primary key in one table, it should be foreign key in another. Can you explain what you're trying to do in more detail?