如何指定在MySql中有空格的列名(在where子句中)
我有下表如何指定在MySql中有空格的列名(在where子句中),mysql,Mysql,我有下表 ID First Name Last Name 1 Ruby Rails 2 Loop Western 列中有一个空格,所以当我编写一个类似 $sql=“从[姓氏]=“西方”的人中选择* 它抛出了错误 错误,无法列出表MySQL错误:您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解在第1行“[姓氏]=”Western”附近使用的正确语法 如何使其工作?如果这是有效的,则必须使用反勾号: `Last Name
ID First Name Last Name
1 Ruby Rails
2 Loop Western
列中有一个空格,所以当我编写一个类似
$sql=“从[姓氏]=“西方”的人中选择*代码>
它抛出了错误
错误,无法列出表MySQL错误:您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解在第1行“[姓氏]=”Western”附近使用的正确语法
如何使其工作?如果这是有效的,则必须使用反勾号:
`Last Name`
但是如果你问我,不要这样做。它在沿途的某个地方乞求麻烦。只需使用下划线或大小写:LastName
您可以在列名周围使用反勾号:
SELECT * FROM Persons WHERE `Last Name` = 'Western'
注意,这不是标准的SQL;Microsoft的表示法也没有在名称周围使用方括号。SQL标准使用“分隔标识符”,并用双引号括起来:
SELECT * FROM Persons WHERE "Last Name" = 'Western'
使用
从[姓氏]=“西部”的人员中选择*
如果您使用双引号将整个命令包装为字符串以将其传递给某个函数,则可作为备用
例如熊猫:
pd.read_sql(“SELECT*FROM Persons,其中[Last Name]=“Western'”,con)这假设OP对模式有任何控制权,但是。。。同意+1如果它不是标准的,为什么你建议他使用它而不是“”呢?我很困惑,最好用“”或“”或``?