如何执行这个简单的mysql select语句

如何执行这个简单的mysql select语句,mysql,Mysql,我正在学习更多关于SQL的知识,并发现它在解决一个我将不得不在PHP中进行后期修复的问题方面已经很有帮助了,现在我发现mysql可以在检索中完成这项工作 我的疑问是这样的 SELECT * FROM `messages` LEFT JOIN `users` ON messages.message_by = users.id

我正在学习更多关于SQL的知识,并发现它在解决一个我将不得不在PHP中进行后期修复的问题方面已经很有帮助了,现在我发现mysql可以在检索中完成这项工作

我的疑问是这样的

    SELECT *
                            FROM  `messages` 
                            LEFT JOIN  `users` ON messages.message_by = users.id
                            WHERE job_id =  '135'
                            ORDER BY message_date DESC
但我现在就想这么做

    SELECT DATE_ADD(`message_date`, INTERVAL 6 HOUR) AS `message_date`, *
                            FROM  `messages` 
                            LEFT JOIN  `users` ON messages.message_by = users.id
                            WHERE job_id =  '135'
                            ORDER BY message_date DESC
date_add部分修复了时区差异问题,但正如我在语句的select部分所述,我现在不知道如何使用*(以及其他所有内容),它不起作用。我不想仅仅因为添加了这个日期修正就必须列出检索后的每个字段


什么是绕过它的方法?谢谢。

只需在表名前面加上前缀,它就可以工作了

SELECT DATE_ADD(`message_date`, INTERVAL 6 HOUR) AS `message_date`, messages.*
                            FROM  `messages` 
                            LEFT JOIN  `users` ON messages.message_by = users.id
                            WHERE job_id =  '135'
                            ORDER BY message_date DESC

另外,您确定需要选择所有字段吗?只需选择所需的列即可提高速度。

谢谢nico。我知道,我通常只选择我需要的列,但在这种情况下,除了一个或两个之外,所有列都是,那些列中只有少量的数字,所以不值得。