mysql在SQL中使用保留字
2008-01-14 13:09:39 来源:编程论坛 作者: 点击:
识别符可以引起来也可以不引起来。如果识别符是一个保留字或包含特殊字符,无论何时使用,必须将它引起来。
识别符可以引起来也可以不引起来。如果识别符是一个保留字或包含特殊字符,无论何时使用,必须将它引起来。特殊字符指那些当前字符集、‘_’和‘$’之外的文字数字字符集。
识别符的引用符是反勾号(‘`’):
mysql> SELECT * FROM `select` WHERE `select`.id > 100;如果SQL服务器模式包括ANSI_QUOTES模式选项,还可以用双引号将识别符引起来:
mysql> CREATE TABLE "test" (col INT);ERROR 1064: You have an error in your SQL syntax. (...)mysql> SET sql_mode='ANSI_QUOTES';mysql> CREATE TABLE "test" (col INT);Query OK, 0 rows affected (0.00 sec)参见5.3.2节,“SQL服务器模式”。
如果你引用识别符,可以在识别符内包括识别符引用符。如果识别符内包括的字符与引用识别符的字符相同,则需要用双字符。下面的语句创建一个名为a`b包含列c"d的表:
mysql> CREATE TABLE `a``b` (`c"d` INT);建议不要使用XeX模式的名,例如1e或2e2,因为类似1e+1的表达式比较模糊。根据上下文,它可以解释为表达式1e + 1或数字1e+1。
使用MD5产生表名时应仔细,因为它可能产生不合法的表名,如上所述。