SQL列名称带有井号

时间:2018-04-08 01:58:52

标签: mysql sql

我是SQL的新手,最近我在使用包含列名'S#'的表时遇到了问题。 所以我现在拥有的是

   SELECT S#, SNAME FROM S WHERE CITY = 'London'; 

但S#部分给我一个操作员错误。我已经尝试将它作为varchar并进行[S#],但没有任何效果。任何帮助,将不胜感激。

由于

3 个答案:

答案 0 :(得分:0)

使用反引号或双引号来转义名称:

SELECT `S#`, SNAME
FROM S
WHERE CITY = 'London'; 

设计自己的数据库时,请勿在名称中使用此类字符。坚持使用字母,数字和下划线。

答案 1 :(得分:0)

在任何 MySQL 数据库中使用反引号、双引号和单引号可以概括为两点:

  • 引号(单引号和双引号)用于字符串周围。
  • 反引号用于表和列标识符。

在查询中使用反引号,

SELECT `S#`, SNAME
FROM S
WHERE CITY = 'London';

这些反引号称为带引号的标识符,它们告诉解析器将它们之间的文本作为文字字符串处理。当您的列或表包含关键字、空格或某些特殊字符时,它们非常有用。

答案 2 :(得分:-1)

就我而言,列名周围的反引号有效,但双引号无效。

相关问题