Mysql 带磅号的SQL列名

Mysql 带磅号的SQL列名,mysql,sql,Mysql,Sql,我是SQL新手,最近在处理包含“S”列名的表时遇到问题。 所以我现在拥有的是 SELECT S#, SNAME FROM S WHERE CITY = 'London'; 但是S#部分给了我一个操作符错误。我试着把它演成一个varchar,然后做[S#],但没有任何效果。任何帮助都将不胜感激 谢谢使用反勾号或双引号转义名称: SELECT `S#`, SNAME FROM S WHERE CITY = 'London'; 在设计自己的数据库时,不要在名称中使用此类字符。坚持使用字母

我是SQL新手,最近在处理包含“S”列名的表时遇到问题。 所以我现在拥有的是

   SELECT S#, SNAME FROM S WHERE CITY = 'London'; 
但是S#部分给了我一个操作符错误。我试着把它演成一个varchar,然后做[S#],但没有任何效果。任何帮助都将不胜感激


谢谢

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

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

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

在我的例子中,该列名周围的反勾号有效,但双引号无效。

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

  • 在字符串周围使用引号(单引号和双引号)
  • 在表和列标识符周围使用反勾号
在查询中使用反勾号

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

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

为您的答案添加更多详细信息。