Mysql 返回列名的内部联接
我在mysql上遇到了一个奇怪的错误 我的问题是:Mysql 返回列名的内部联接,mysql,sql,wamp,Mysql,Sql,Wamp,我在mysql上遇到了一个奇怪的错误 我的问题是: SELECT 'u.id', 'u.primeiroNome', 'u.ultimoNome', 'u.email', 'p.cpf' FROM user as u INNER JOIN pacientes as p ON u.id = p.user_id 这是回报 这是在wamp 2.5 64位上运行的。请删除查询的简单引号: SELECT u.id ,u.primeiroNo
SELECT
'u.id',
'u.primeiroNome',
'u.ultimoNome',
'u.email',
'p.cpf'
FROM user as u
INNER JOIN pacientes as p ON u.id = p.user_id
这是回报
这是在wamp 2.5 64位上运行的。请删除查询的简单引号:
SELECT u.id
,u.primeiroNome
,u.ultimoNome
,u.email
,p.cpf
FROM `user` as u
INNER JOIN pacientes as p ON p.user_id = u.id
简单的引号被解释为字符串值,这是异常或问题的原因
以下是相同的查询,但使用了反勾号:
SELECT u.`id`
,u.`primeiroNome`
,u.`ultimoNome`
,u.`email`
,p.`cpf`
FROM `user` as u
INNER JOIN pacientes as p ON p.`user_id` = u.`id`
在处理SQL查询时,理解单引号和反勾号之间的区别非常重要
在这里,您可以找到有关使用这些字符的更多信息:
希望这能对您有所帮助。为什么在select语句中引用字段名?去掉引号,试试againI,我不是mysql专家……事实上,我一生中从未做过mysql查询,但为什么它会引用这些列呢?它将输出x个数量的行,其中“u.id”、“u.primeiroNome”、“u.multimonome”、“u.email”、“p.cpf”作为行值。如果列具有匿名名称,则此查询返回的结果一点也不奇怪,这是定义的行为。而且这根本不是一个MySQL错误。在选择列表中以表达式形式返回字符串文字是完全有效的。如果目的不是返回文本,请删除单引号,MySQL将把SELECT列表中的这些表达式视为引用表中列的标识符。如果必须转义名称,我认为“应该”是“反勾号”。