在我的数据库中,我有一个表“user”,其中包含用户信息,例如“id”,“user_name”,“email”和其他一些数据。我有另一张表“照片”,其中包含“id”,“user_name”,“photo_id”。两个表中的“id”是自动增量整数和主键。 我从照片表中选择了特定用户名的photo_id,因此我认为照片表中不需要“id”。这是对的吗? 如果照片表中不需要“id”列,那么主键应该是什么?
答案 0 :(得分:0)
我的理念是你应该总是在表格中有一个Id字段。你永远不知道什么时候你可能因为某种原因需要添加并引用该id。
答案 1 :(得分:0)
您是否考虑过因某种原因更改了用户名会发生什么?对关键表使用ID意味着您可以根据需要更改内容,而无需重新指定内容(手动或通过更新触发器)。
答案 2 :(得分:0)
这里的问题是photo_id
和id
基本上是一回事。看到id
是自动增量整数(你也应该设置UNIQUE)摆脱photo_id
此外,您应该使用user_id
而不是名称,否则两个具有相同名称的用户将获得每个人的照片。
答案 3 :(得分:0)
使用与业务对象无关的ID通常是一个好主意,这样未来的对象可以改变,并且不会对数据库的结构产生重大影响。