【发布时间】:2013-03-01 14:18:43
【问题描述】:
每日提示:像老板一样使用backticks!即使是你的笔迹!
更新:如果您接受上述建议,则无需再阅读以下内容!说真的!
问题:
我对此有点恼火。我可以创建一个包含名为 key 和 value 的列的表,但是当我想使用这些列时,我会看到一个非常好的语法错误,说明这些是 MySQL 的 reserved keywords。
我的问题是:有人知道为什么会这样吗?为什么我一开始就没有收到语法错误?有什么理由支持吗?
【问题讨论】:
-
这些是保留字。如果你用反引号包围它们,那么你可以使用它们。另一方面,对任何类型的表或列使用 MySQL 的保留字是一个坏主意。
-
@N.B.只有
KEY,值不是关键字。 -
@N.B.当问题发布时,我才意识到!
-
您知道键值表通常是存储数据的最差解决方案,对吧?如果没有可能的方法来了解建议中的字段,例如在存储实验室结果时(每个新的实验室测试都会有不同的列需求),我只会使用它。 99% 的人使用键值是不必要的,会导致性能问题,并使编写查询变得更加困难。
-
@HLGEM 我正在使用
key-value对来存储配置数据(在这种情况下),但正如您所说,这并不是解决所有问题的方法。
标签: mysql sql database database-design