2

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

更新:

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

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

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

4

3 回答 3

2

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

当然,更改表格以添加int字段将是最好的方法,但实际上并不是必需的。

于 2013-03-01T21:14:06.377 回答
1

我对您的问题和情况的理解如下:

  1. 您无法更改相关表是在没有独立“id”的情况下创建的这一事实。

  2. 到目前为止,您有足够的权限向此表中添加字段。

  3. 有一种方法可以让您获得禁用用户访问此表的时间窗口。

如果是这种情况,那么您需要添加此字段并使用连续整数填充它。

于 2013-03-01T21:25:36.070 回答
0

试试这个

ALTER TABLE table_name ADD column_name INT FIRST;
于 2013-03-01T21:15:58.410 回答