对于项目,我从客户端检索了数据库。该数据库包含的表具有由几个单词组成的属性,这些单词由一个点连接在一起。例子:
table A : id, number.client , global.score
table B : id, favorite.style
因此,例如,当我对此表执行 sql 请求以根据 number.client
过滤结果时,MySQL 返回了一个错误。
例如我有这个请求:
SELECT * FROM A
INNER JOIN B
ON (A.ref_track = B.id)
INNER JOIN C
ON (C.id = B.ref_plannode)
WHERE (B.id= 1)
AND (A.number.client > 50)
ORDER BY A.id DESC
当我运行这个请求时,我得到这个错误:
MySQL replied:
#1064 - Syntax error on A.number.client > 50
我认为当我们有一个由点分隔的服务词组成的属性时,MySql 不会失败(比如 number.client)。那么解决方法是什么??
关于此数据库的信息,我不负责,我是从客户那里得到的!!
最佳答案
你必须用“`”引用列名
SELECT *
FROM A
JOIN B
ON A.ref_track = B.id
JOIN C
ON C.id = B.ref_plannode
WHERE B.id= 1
AND A.`number.client` > 50
ORDER BY A.id DESC
编辑
关于mysql - 当表包含由点分隔的多个单词组成的属性时请求 SQL。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42805560/