连接MySQL列-错误1054

连接MySQL列-错误1054,mysql,Mysql,我试图将两个字段合并到一个MySQL表中(表中所有条目的标题分别为“firstname”和“lastname”的列)。我在这里搜索了几篇关于这个问题的帖子,还没有找到一个有效的解决方案 我一直收到 Error #1054 - Unknown column 'firstname' in 'field list' …当我尝试执行以下操作时: SELECT concat(firstname, ' ', lastname) 我仔细检查了这两个字段的拼写,它们都是正确的。他们都是瓦查尔 我是MySQ

我试图将两个字段合并到一个MySQL表中(表中所有条目的标题分别为“firstname”和“lastname”的列)。我在这里搜索了几篇关于这个问题的帖子,还没有找到一个有效的解决方案

我一直收到

Error #1054  - Unknown column 'firstname' in 'field list'
…当我尝试执行以下操作时:

SELECT concat(firstname, ' ', lastname)
我仔细检查了这两个字段的拼写,它们都是正确的。他们都是瓦查尔

我是MySQL的新手,所以非常感谢您的帮助


谢谢。

我从错误消息中看到的唯一一件事是,要么列不存在(由于您的注释,这似乎不正确),要么您没有正确访问它们,请尝试在字段之前使用表名:

SELECT concat(tbl.firstname, ' ', tbl.lastname) from tbl

您的查询应如下所示:

select concat(firstname, ' ', lastname) as fullname
from yourTableName

请发布完整的
SELECT
语句,以及
SHOW CREATE whatever\u your\u name\u your\u table
的输出。这就是完整的SELECT语句。。。我想这就是我出错的地方…?这是您的完整查询
选择concat(firstname,,,lastname)
?您可能需要编写类似于
选择concat(firstname',lastname)作为tablename中的fullname的内容
Yes。要选择列的内容,还必须指定该列所在的表。好的,这是可行的,但当我返回浏览该表时,仍然会看到原来的两列,而不是新列。查询提取数据,并且不会对数据库进行任何更改。这就是数据库的魅力所在。您可以在数据库中存储相关信息,如firstname和lastname。当您想要提取数据时,可以像上面的查询一样动态地转换数据。不需要在数据库中存储相关(名字和姓氏)和派生(全名)数据。我想做的是消除单独的firstname/lastname字段,并且只有一个fullname字段。有没有一个简单的方法可以做到这一点?你可以做到,但我建议不要这样做。一旦你把田地合并起来,把它们分开将是一件非常痛苦的事。所以别那么做。如果您非常倾向于将它们结合起来,那么可以执行
altertabletablename添加列fullname varchar(100)。然后更新此字段
updatetablename set fullname=concat(firstname',,lastname)。然后删除两列
altertable tablename drop column firstname;alter tablename drop column lastname