数据库的主键字段名叫`ID`不香么,为什么非要`table 名+ID`、`table 名缩写+ID`?

2020-09-22 15:53:08 +08:00
 luxinfl

大佬们的主键字段名是怎么定义的?难道不叫 ID 还会有什么好处么??

14287 次点击
所在节点    程序员
115 条回复
draguo
2020-09-22 18:18:29 +08:00
直接用 id 吧,我 orm 用的多,用其他字段得手动指定,带表名也就联查方便了一点点
OneMan
2020-09-22 18:22:35 +08:00
规矩问题,非原则问题,没什么大不了和讨论的,看什么菜下什么锅即可
MarioLuo
2020-09-22 18:39:37 +08:00
目前感觉唯一有用的地方 select xxx_name, yyy_name ...join a.xxx_id=b.yyy_id,个人倾向不加前缀,毕竟谁不使用 ORM 了
tsingke
2020-09-22 21:01:35 +08:00
差别是不大,但是 id 省事好用,完胜啰嗦的 xxx_id,当然用 id,不会真有人用 xxx_id 吧,正经人谁用 xxx_id 是吧?
dayFvckingByte
2020-09-22 21:06:59 +08:00
统一叫”ID 不香么”
lin07hui
2020-09-22 21:22:17 +08:00
多表查询时,字段可以不用 AS 。他可能不知道 AS 的存在,也可能他就是看不起 AS 。
RickyC
2020-09-22 21:24:48 +08:00
@alexmao a.id, b.id 不香吗?
RickyC
2020-09-22 21:27:33 +08:00
世界从来不是有序的, 而是从无序中寻找有序, 人们将这称为"劳动".
littlewing
2020-09-22 21:33:50 +08:00
自增主键 id 应该是一个和业务无关的字段,所以叫 id 就好
jorneyr
2020-09-22 21:57:08 +08:00
平时用 id 或者 table_name_id 选一个就好了,但考虑分库分表时,使用 table_name_id,作为 sharding key 会比较好用
gadsavesme
2020-09-22 22:55:58 +08:00
就是在关联表里看起来舒服点吧,不然主表叫 id,关联子表里叫 xxid,语义上不是很友好
akira
2020-09-22 23:03:12 +08:00
叫 id,自增,不参与任何业务
ZXCDFGTYU
2020-09-22 23:24:08 +08:00
user: id,username,pwd,salt
ZXCDFGTYU
2020-09-22 23:26:01 +08:00
@ZXCDFGTYU user_info: id, user_id,phone

id 每个表的 id 为 pk,table+_id 为关联字段 id,我个人习惯感觉还好,如果要是表名太长的话,可以用其他意思相近的英文单词替代。这样的话,能够单看 field 就能知道这个字段关联的哪个表,更方便一点。
ZXCDFGTYU
2020-09-22 23:27:30 +08:00
楼上说的单独的关联表也可以,user_info_rel,table1+table2+_rel,字段里就是 user_id ( user.id ),user_info_id(user_info.id)。
ZXCDFGTYU
2020-09-22 23:27:47 +08:00
以上为个人习惯
songco
2020-09-22 23:41:16 +08:00
同一个项目统一风格就好

真码农有能力制定项目命名规则,就按自己偏好来,自己制定不了,学会适应

现代编辑器比较先进,各种风格差别不大
lithiumii
2020-09-22 23:56:28 +08:00
这么喜欢统一主键名,mongodb 欢迎你
lululau
2020-09-23 09:08:53 +08:00
别争了,本表主键名称以加表名作前缀的就是沙雕行为,没有任何好处
qiumaoyuan
2020-09-23 09:10:05 +08:00
讨论技术问题最烦“规整”、“太重”、“奇怪”这类不明所以的形容词,我 TM 都不知道这些人到底在说啥,标准都让你定了,别人讨论个尖儿。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/709455

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX