我有一个包含userid和username列的用户表,并且两者都是唯一的。在userid和username之间,哪个更好用作外键,为什么?我老板想用字符串,可以吗? 最佳答案 Isstringorintpreferredforforeignkeys?视情况而定有很多existingdiscussions关于NaturalandSurrogateKeys之间的权衡-您需要决定什么对您有用,以及您组织内的“标准”是什么。在OP的例子中,有一个代理键(intuserId)和一个自然键(char或varcharusername)。任一列都可