Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 返回列名的内部联接_Mysql_Sql_Wamp - Fatal编程技术网

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

我在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.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列表中的这些表达式视为引用表中列的标识符。如果必须转义名称,我认为“应该”是“反勾号”。