0

嗨,我有一个看起来像这样的 mysql 表:

date        time
2009-07-31  02:30
2009-07-31  02:45
2009-07-31  03:00

' date' 列是一个date字段,而 ' time' 列是一个text字段。

我想,仅使用 mysql,将这些合并到第三列,' datetime'这是一个timestamp字段。

所以最终的结果应该是这样的:

date        time     datetime
2009-07-31  02:30    2009-07-31 02:30
2009-07-31  02:45    2009-07-31 02:45
2009-07-31  03:00    2009-07-31 03:00

不知道该怎么做。有什么建议么?

4

2 回答 2

2

简单的...

ALTER TABLE yourTable ADD COLUMN `datetime` timestamp;

UPDATE yourTable SET `datetime` = CONCAT(`date`, '  ', `time`);

尽管我可能会添加保留关键字,例如date,time并且datetime不是好的列名。

于 2012-08-30T18:40:32.653 回答
1

MySQL 确实有一些“松散类型”行为,因此您可以将它们合并为字符串,并将生成的字符串设置为日期时间列。

update `my_table` set `datetime`=concat(`date`, ' ', `time`);

并非所有的反引号都是必需的,但用于澄清查询。

于 2012-08-30T18:40:38.187 回答