MySQL命名约定,字段名称是否应包含表名称?

2022-08-31 00:28:18

一个朋友告诉我,我应该在同一个表的字段名称中包含表名,我想知道为什么?它应该是这样的吗?例:

(Table) Users  
(Fields) user_id, username, password, last_login_time

我看到前缀“user_”毫无意义,因为我知道它已经是用户了。但我也想听听你的意见。注意:我正在用php,mysql编程。


答案 1

我同意你的看法。我唯一想把表名或它的缩写形式放在主键和外键上的地方,或者如果“自然”名称是一个关键字。

Users: id or user_id, username, password, last_login_time
Post: id or post_id, user_id, post_date, content

我通常使用“id”作为主键字段名称,但在这种情况下,我认为user_id和post_id也完全可以。请注意,发布日期称为“post_date”,因为“日期”是关键字。

至少这是我的惯例。您的里程可能会有所不同。


答案 2

我认为没有理由包含表名,这是多余的。在查询中,您可以引用字段作为<表名称>.<字段名称>无论如何(例如。“user.id”)。


推荐