Mysql 使用'type'作为数据库列名

Mysql 使用'type'作为数据库列名,mysql,sql,postgresql,Mysql,Sql,Postgresql,在新数据库表中命名列时遇到的一个常见问题是用于分类子类型的正确名称。最自然的列名通常是类型,但我尽量避免在命名中使用 我知道,type在和中都是非保留关键字,所以我可以使用它,但我应该吗 当前使用类型作为列名的最佳实践是什么?是否有一个同义词是如此广泛地等同于它只是有意义的使用 这些年来,我花了很多时间试图挑选其他名字,在过去一周的讨论中,这已经出现了两次,所以我想看看是否有任何明确的共识 如果这对其他人有帮助,我过去尝试过的一些方法包括: 类别 种类 子类型 组 类型 角色 class 第一

在新数据库表中命名列时遇到的一个常见问题是用于分类子类型的正确名称。最自然的列名通常是
类型
,但我尽量避免在命名中使用

我知道,
type
在和中都是非保留关键字,所以我可以使用它,但我应该吗

当前使用
类型
作为列名的最佳实践是什么?是否有一个同义词是如此广泛地等同于它只是有意义的使用

这些年来,我花了很多时间试图挑选其他名字,在过去一周的讨论中,这已经出现了两次,所以我想看看是否有任何明确的共识

如果这对其他人有帮助,我过去尝试过的一些方法包括:

  • 类别
  • 种类
  • 子类型
  • 类型
  • 角色
  • class
    • 第一条规则

      永远不要使用关键词或保留词。在你之后的人将遭受痛苦

      如果您这次只使用“键入”。您可以使用类型

      将列命名为“类型”在技术上似乎很好。我命名我的列是为了避免与我可能用于查询数据库的语言/框架中的方法/关键字混淆

      另外,如果我添加一种与DB接口的新语言或框架,该怎么办

      “type”是许多语言中的方法名称或关键字


      也许没有什么好的理由(它确实删除了一些很棒的列名)。这两种方式都没什么大不了的。这只是个人喜好。

      我的建议通常是避免使用关键词,但这不是因为它们是保留的,而是因为它们本身往往是模棱两可的

      例如,假设您有一个customer表,其中有一列“type”,这可能是由分段(高值/低值等)填充的,也可能是由source(直接营销/走进等)填充的


      “Type”是一个低值词。我通常建议以牺牲列长度为代价,尽可能明确。例如“CustomerSourceType”或“InventoryLocationType”或场景中更清晰的内容。

      您应该使用最容易理解的内容。如果
      type
      能让任何其他程序员理解它所指的内容,你可以毫无问题地使用它。我有一种强烈的倾向,就是尽量避免使用关键字,即使它们是非保留的。在大多数情况下,有更好的名称(数据类型、注册日期)。如果我找不到更好的名字,我就在它们前面加上Z:
      ztype
      zdate
      ,最好用德语发音。。。(注意:只有一个(非保留)关键字以Z开头:
      区域
      :hibernate使用“dtype”表示“鉴别器类型”,如果这有助于感谢您的建议!我通常更喜欢保持我的列名单数,除非它们真正代表多个事物。我在这里是因为我前面的人使用“type”作为一个列名。我可以关联。人们,请不要使用类型。我正在研究如何在Medoo中查询这个。呃。“类型”是一个低值的词。太棒了!这促使我尝试其他东西。我的选择是
      类别
      ,但这导致我使用更明确的东西。感谢这类似于命名列
      日期
      时间戳
      ——它基本上没有记录任何内容