"So frequently the best advice for someone who's thinking of doing something like this is "redesign your schema so you don't need to". " I've thought about that. The obvious way to do it would be to split into two tables, one for the originals, one for the translations (the objects are actually phrases in many languages). But I'd rather avoid that because in all other ways, the objects have the same properties, reference the same objects, and so on. Splitting into two types is not really desirable, from the point of view of what they are modelling.