MySQL - 用`(tickmarks)表示周围表名的必要性?

时间:2010-08-09 05:28:15

标签: mysql

在MySQL中,是否需要使用tickmark来包围表名?我经常看到使用勾选标记的代码片段,但是我没有遇到过这样的情况,即没有围绕一个带有刻度标记的表名,并且与它有什么不同。


看起来我使用的框架会自动解析带有标记的保留字键名。<​​/ p>

4 个答案:

答案 0 :(得分:9)

用于区分表(或列!)名称和SQL保留字的标记。例如,如果没有勾选标记,名为update的表或列可能会与SQL命令update发生冲突。

当然,最好不要首先使用保留字命名表和列,但如果将应用程序移植到新的数据库引擎(或者甚至可能是新的MySQL版本),它可能会有不同的设置保留字,所以你可能还是打破了你的应用程序。标记是你对这种哎呀的保险。

答案 1 :(得分:6)

当表名或列名使用mySQL keywords时,必须使用勾号。

答案 2 :(得分:2)

只有当您的表名由非“单词”字符(即:除字母,数字和下划线之外的任何内容)组成时,或者恰好与MySQL中的关键字相同时,才需要这样做。引用这个名字从来都不是“糟糕”,但是当你不得不这么做时,生成MySQL查询的许多程序都会保守并引用名称 - 这样就更容易了。

答案 3 :(得分:2)

我曾经在一家工作,他们有一个“位置”数据库。他们称之为国家。并且表中的所有内容都是由州代码命名的。所以密苏里州是MO,阿肯色州是AR。

几个州代码也是保留字OR(俄勒冈州),IN(印第安纳州)和ON(安大略省)......我不知道是一个州。

即便如此,我认为有更好的方法来组织他们的数据库数据,有些人希望将事物命名为保留字。这是一个“标记保持代码工作的例子。