sql - 无需 ID 即可创建关系

标签 sql database

我有一个包含用户列表(用户名、密码)的表。但这个表是在没有 ID 的情况下创建的,我无法更改它。如何创建唯一 ID(如果可能,为整数)来建立与其他表的关系?

更新:

用户列表并不完全是我数据库中的表,它只是从 Web 服务获取的数据,因此当用户登录系统时,我检查用户列表中是否存在凭据,返回 true或假。它工作得很好,但现在我必须将事物与每个用户关联起来,比如产品。在正常情况下,我只需要将用户 ID 放入产品表中,但这里我没有该 ID。

为此,我考虑根据每个用户的用户名生成一个哈希值,并将其用作唯一 ID,这样我就可以获得一个 ID 以在表产品中使用它。

这是一个好的解决方案吗?

最佳答案

如果您出于任何原因无法更改表格,正如您在问题中所述,我认为至少 username 将是一个唯一值。尽管使用字符串作为主键并不理想,但它是完全可行的,并且没有什么可以阻止您将其用于您的关系。

当然,更改表以添加 int 字段将是最好的方法,但实际上没有必要。

关于sql - 无需 ID 即可创建关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15166807/

相关文章:

java - 子类插入到父类(super class)表中

mysql - 有什么方法可以在删除索引之前检查它是否存在?

database - 从数据库中检索大量数据的游标替代方法是什么?

mysql - 是否可以对 mysql SELECT 语句中返回列的顺序进行排序?

java - 具有一对多和多对多关系的 JOOQ pojos

mysql - 将一个表中的总和添加到第二个表

javascript - (MongoDB)问答网站的数据库结构

java - 在 Collection 中保存表行有什么好处?

sql - 检查仅允许某些字符的约束

SQL SELECT FOR SALES WITH 'COUNT' from another table