嗨我有一个看起来像这样的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
不知道如何解决这个问题。有什么建议吗?
答案 0 :(得分:2)
容易...
ALTER TABLE yourTable ADD COLUMN `datetime` timestamp;
UPDATE yourTable SET `datetime` = CONCAT(`date`, ' ', `time`);
虽然我可能会添加date
等保留关键字,time
和datetime
不是很好的列名。
答案 1 :(得分:1)
MySQL确实有一些“松散类型”行为,因此您可以将它们合并为字符串,并将结果字符串设置为日期时间列。
update `my_table` set `datetime`=concat(`date`, ' ', `time`);
并非所有的反向标记都是必需的,但用于澄清查询。