从select语句的另一列向mysql中添加新列

时间:2016-01-08 08:45:06

标签: php mysql

我的数据库中有datetime()date_time

我需要将其转换为date()并创建一个新的临时列date_field ,直到会话结束

我试过这个:

$query1 = SELECT date_time, date(date_time) as date_field FROM table_name....

这样可以创建一个临时列date_field,其中包含date_time字段的所有日期值

问题:这仅适用于此查询。我还有另一个搜索date_time字段的查询,从而导致数据库错误Unknown field 'date_field'

$query2 = SELECT date_field FROM table_name
                                    | This table doesn't have date_field as a column

是否可以创建此字段,以便我可以使用它一段时间直到会话结束?就像我们为临时表做的那样?

注意:由于代码限制,我无法在此处使用ALTER添加新列。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

在第一个查询中,你真的没有创建任何列,只需返回一个列(date_time),在其上运行一些函数(date())并给它一个别名(date_field)。这只发生在结果集中,并且不能在此查询之外使用。

您需要做的只是在第二个查询中使用相同的内容:而不是select date field,您需要select date(date_time) as date_field