如何将带有时间戳的列转换为DATETIME并保留日期?我使用的是PHPMyAdmin。
时间戳也有自动填充的选项,在DATETIME中有这样做的方法吗?或者我应该每次都用PHP插入它?
谢谢
发布于 2011-08-04 05:10:12
如果此查询
ALTER TABLE table CHANGE `time` `time` datetime将丢失日期您可以创建新列,然后分配旧值,然后删除旧列并重命名新列
ALTER TABLE table ADD `datetime` datetime AFTER `time`;
UPDATE table set datetime=time;
ALTER TABLE table DROP datetime;
ALTER TABLE CHANGE `datetime` `time` datetimeRead this
例如,这意味着您不能将日期列的默认值设置为或等函数的值。
发布于 2011-08-04 05:06:52
ALTER TABLE tablename MODIFY COLUMN columnname DATETIME;(首先在测试台上测试...)
无法将触发器的默认值设置为当前保存时间:
DELIMITER $
CREATE TRIGGER tablename_before_insert BEFORE INSERT ON tablename
FOR EACH ROW
BEGIN
IF NEW.columnname IS NULL THEN
SET NEW.columnname = NOW();
END IF;
IF NEW.datum = '0000-00-00 00:00:00' THEN
SET NEW.columnname = NOW();
END IF;
END$
DELIMITER ;发布于 2011-08-04 05:06:45
使用FROM_UNIXTIME()将unix时间戳转换为常规的日期时间值。
unix时间戳在mysql中没有本机类型-它只是一个整数。timestamp字段将自动填充,但仅填充任何给定表中的第一个字段。有关该here的更多详细信息。
https://stackoverflow.com/questions/6933247
复制相似问题