mySQL更新";“时间创造”;列,但为每个后续条目添加一秒钟

mySQL更新";“时间创造”;列,但为每个后续条目添加一秒钟,mysql,Mysql,我有一个timecreated字段,我需要用时间填充它。。。但是我想让时间自动增加一秒,以便每个后续条目的时间都不相同。。。时间本身并不重要,我只是不希望它们中的任何一个是一样的 表:注释 列:timecreated 我基本上只想要: 创建时间:12:00:01 创建时间:12:00:02 等等。。。再次感谢各位 [编辑] 全表结构: 表:注释 列:NO-ID(key)、objectid、partnerid、note、datecreated、timecreated、datemodified好的,

我有一个timecreated字段,我需要用时间填充它。。。但是我想让时间自动增加一秒,以便每个后续条目的时间都不相同。。。时间本身并不重要,我只是不希望它们中的任何一个是一样的

表:注释
列:timecreated

我基本上只想要:
创建时间:12:00:01
创建时间:12:00:02

等等。。。再次感谢各位

[编辑]

全表结构:
表:注释

列:NO-ID(key)、objectid、partnerid、note、datecreated、timecreated、datemodified

好的,因为
NO-ID
(列的奇怪名称,但这不是重点)是
AUTO_INCREMENT
,您可以简单地将其值(根据定义是唯一的)添加到基本UNIX时间戳中。您将希望在过去开始足够长的时间,以确保不会耗尽值,尽管只有当您有数百万行时,这才是一个问题

因此,从
2012-01-01 00:00:00开始,例如:

SELECT UNIX_TIMESTAMP('2012-01-01 00:00:00');
+---------------------------------------+
| UNIX_TIMESTAMP('2012-01-01 00:00:00') |
+---------------------------------------+
|                            1325397600 |
+---------------------------------------+
更新将主键值添加到该基本时间戳的所有行:

UPDATE `notes` SET `timecreated` = FROM_UNIXTIME(1325397600 + `NO-ID`);
如果删除了行,它们将不会是连续的,但它们仍然是唯一的

您甚至不必从基本时间戳开始。您可以从0开始,即1970年1月1日加上或减去服务器的时区

UPDATE `notes` SET `timecreated` = FROM_UNIXTIME(`NO-ID`);
导致时间戳,如

1970-01-01 00:00:01
1970-01-01 00:00:02
1970-01-01 00:00:03
1970-01-01 00:00:04
...
评论后更新: 要将
datecreated
字段增加一天,请使用相同的模式,但使用
DATE\u ADD()


但是要小心,从开始日期算起的天数要比秒数容易得多…

这是一次性操作来填充现有行吗,或者,您是否需要它来根据现有行在将来不断递增?如果您一次添加许多行,会发生什么情况?timecreated值可能在将来出现?哦,您的表是否已经有自动递增的PK列?如果是这样,您可以使用
FROM_UNIXTIME()
将PK添加到基本时间戳中,这只是一个一次性条目。我以后不需要继续使用此功能,只需使用此功能即可。再次感谢各位!完成。非常感谢迈克尔!那很有效!是否有一种方法可以执行与datecreated字段类似的函数,从而使日期增加一天?
UPDATE `notes` SET `datecreated` = DATE_ADD('2012-01-01', INTERVAL `NO-ID` DAY)