Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在制作一个应用程序,其中我有一个服务器端 sql 数据库来存储所有用户的用户设置。我不确定如何使每个用户都独一无二,以便数据库知道谁是谁。数据库为每一行存储这些用户数据:id、电子邮件、县、年龄和性别。所以我认为最好的方法是让用户对他/她的电子邮件是唯一的——这是唯一的——这样当设置更新或输出时,sql 就知道要获取哪一行。
我该怎么做呢?然后我将如何将正确的数据输出给正确的用户?
数据库中的实体应该有一个主键。我了解在您的设计中,该id字段将成为主键。通常这是一个自动生成的整数。这称为代理键。在这种情况下,您需要告诉表格电子邮件字段也必须是唯一的。您可以通过为此字段创建唯一索引来做到这一点。唯一索引将防止使用相同的电子邮件创建两个不同的用户。使用这种方法,您可以查询表检查 forid或 for email。
id
email
另一种方法是拥有自然密钥。在这种情况下,电子邮件将是您的表的主键,因此您将没有该id字段。使用这种方法,您可以查询表以检查email,这是每个用户的唯一标识符。