我只是想将数据库布局从使用时间更改为date("y-m-d h:i:s")
是否可以仅使用 SQL 查询来完成此操作?还是我必须手动进行一项一项?
这是因为我开始将时间戳插入数据库,现在我需要存储date()
,我不希望通过仅将时间戳转换为日期来简单地绕过使用 PHP,我想运行 SQL 来更新从时间戳到日期的所有行。
类似于:
UPDATE `my_table` SET `time` = 'new_date("y-m-d h:i:S") WHERE `time` = 'time()'
最佳答案
您需要添加一个DATETIME
类型字段来存储它,然后您可以使用mysql中的FROM_UNIXTIME()
函数来转换它。
ALTER TABLE my_table ADD my_date_time DATETIME;
UPDATE my_table SET my_date_time = FROM_UNIXTIME(`time`);
有关FROM_UNIXTIME()
的文档:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_from-unixtime
然后您可以删除名为 time
的旧列。无论如何我都会推荐这样做,因为 time
是 mysql 中的列类型。
ALTER TABLE my_table DROP `time`;
关于mysql - 将 mySQL 中的时间戳更改为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16150842/