【发布时间】:2011-07-07 09:09:31
【问题描述】:
我有这个 MYSQL 表:
[ID] [TIMESTAMP] [TIME]
[1] [2010-05-29 01:17:35] []
[1] [2010-05-29 01:23:42] []
...等等
现在我需要将 TIMESTAMP 值复制到 TIME 行中。新的 TIME 行是通过 PHP 命令 time() 创建的;
问题:我不知道该怎么做。也许是一个 MySQL 命令,也许是通过 PHP?请帮帮我!
我的桌子:
CREATE TABLE `comments` (
`id` int(10) unsigned NOT NULL auto_increment,
`ip` int(10) unsigned NOT NULL,
`name` varchar(40) NOT NULL,
`comment` text NOT NULL,
`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`email` varchar(30) NOT NULL,
`time` int(100) NOT NULL,
PRIMARY KEY (`id`),
KEY `news_id` (`m0arid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=17198 ;
目标:我想删除时间戳。在我看来,时间更好。
PS:如果你对我有一个一般性的提示,看看这张表,请告诉我:)。
【问题讨论】:
-
我会保留时间戳。
-
为什么你的时间列的类型是 int(100) ?你想用什么格式?
-
@Krtek Unix 时间戳。 @Tomalak Geret'kal 遗憾的是我不能:/.
-
int(100)- (100) 部分只是一个显示提示 - “显示 100 位数字”。它与数字的存储方式无关。在内部一个 int 是一个 int 并且占用 4 个字节的存储空间,无论你想要 1 位还是 100。 -
@user606346 就像我在回答中所说的那样,mysql 时间戳实际上是 unix 时间戳,您想要进行的转换没有意义。在内部,它将完全相同相同,但没有类型检查 mysql 可以使用时间戳类型。