我有下表
ID First Name Last Name
1 Ruby Rails
2 Loop Western
列中有空格,所以当我写一个像
这样的查询时 $sql = "SELECT * FROM Persons where [Last Name] = 'Western' ";
它会抛出错误
Error, could not list tables MySQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[Last Name] = 'Western'' at line 1
如何让它发挥作用?
答案 0 :(得分:4)
如果这是有效的,你必须使用反引号:
`Last Name`
但如果你问我,不要这样做。这是在路上的某个地方乞讨。只需使用下划线或CamelCase:LastName
答案 1 :(得分:3)
您在列名称周围使用反向标记:
SELECT * FROM Persons WHERE `Last Name` = 'Western'
请注意,这不是标准SQL; Microsoft名称也不是在名称周围使用方括号。 SQL标准使用“分隔标识符”,用双引号括起来:
SELECT * FROM Persons WHERE "Last Name" = 'Western'
答案 2 :(得分:0)
使用
选择*从[姓氏] ='西方'的人中
如果使用双引号将整个命令包装为字符串以将其传递给某些函数,请使用作为替代。
例如在熊猫中:
pd.read_sql(“ SELECT * FROM Persons [Last Name] ='Western'”,con)