我有一个包含用户列表(用户名、密码)的表。但这个表是在没有 ID 的情况下创建的,我无法更改它。如何创建唯一 ID(如果可能,为整数)来建立与其他表的关系?
更新:
用户列表并不完全是我数据库中的表,它只是从 Web 服务获取的数据,因此当用户登录系统时,我检查用户列表中是否存在凭据,返回 true或假。它工作得很好,但现在我必须将事物与每个用户关联起来,比如产品。在正常情况下,我只需要将用户 ID 放入产品表中,但这里我没有该 ID。
为此,我考虑根据每个用户的用户名生成一个哈希值,并将其用作唯一 ID,这样我就可以获得一个 ID 以在表产品中使用它。
这是一个好的解决方案吗?
最佳答案
如果您出于任何原因无法更改表格,正如您在问题中所述,我认为至少 username
将是一个唯一值。尽管使用字符串作为主键并不理想,但它是完全可行的,并且没有什么可以阻止您将其用于您的关系。
当然,更改表以添加 int
字段将是最好的方法,但实际上没有必要。
关于sql - 无需 ID 即可创建关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15166807/