草庐IT

timestamp_h

全部标签

Mysql 将 TIMESTAMP 转换为 INTEGER - 时区

我需要在我们的MySQL(InnoDB)DB中将一些TIMESTAMP字段转换为INT。我意识到将TIMESTAMP转换为INT是不寻常的,但我们仍然需要这样做:)这似乎很简单,但存在一些时区和夏令时错误。我有一个脚本可以为每列生成我的SQL代码。例如,它会生成:ALTERTABLEalarmLogADDCOLUMNstarted_tmpINTUNSIGNED;UPDATEalarmLogSETstarted_tmp=UNIX_TIMESTAMP(started);ALTERTABLEalarmLogDROPstarted;alterTABLEalarmLogCHANGEstarted

Mysql 将 TIMESTAMP 转换为 INTEGER - 时区

我需要在我们的MySQL(InnoDB)DB中将一些TIMESTAMP字段转换为INT。我意识到将TIMESTAMP转换为INT是不寻常的,但我们仍然需要这样做:)这似乎很简单,但存在一些时区和夏令时错误。我有一个脚本可以为每列生成我的SQL代码。例如,它会生成:ALTERTABLEalarmLogADDCOLUMNstarted_tmpINTUNSIGNED;UPDATEalarmLogSETstarted_tmp=UNIX_TIMESTAMP(started);ALTERTABLEalarmLogDROPstarted;alterTABLEalarmLogCHANGEstarted

mysql - 使 ActiveRecord/Rails 使用实际的 mysql TIMESTAMP 列

Rails的:timestamp列类型所在;它实际上只是:datetime的别名。我正在使用mysql,我想使用实际的unix-timestampTIMESTAMP列。a)除了使用SQL创建列之外,是否有设置此设置的好方法?b)ActiveRecord是否会正确处理它(例如,必要时转换为Time,接受unix时间戳Integer作为输入等)?我应该处理哪些陷阱,在哪里处理?为什么:速度。这是针对一个非常活跃的表,该表聚合了已经使用unix时间戳的外部数据源。转换为日期时间(或者甚至首先转换为db字符串,经过2个gsub)耗尽了大部分导入时间。否则我可能只是在做一个非常便宜的Intege

mysql - 使 ActiveRecord/Rails 使用实际的 mysql TIMESTAMP 列

Rails的:timestamp列类型所在;它实际上只是:datetime的别名。我正在使用mysql,我想使用实际的unix-timestampTIMESTAMP列。a)除了使用SQL创建列之外,是否有设置此设置的好方法?b)ActiveRecord是否会正确处理它(例如,必要时转换为Time,接受unix时间戳Integer作为输入等)?我应该处理哪些陷阱,在哪里处理?为什么:速度。这是针对一个非常活跃的表,该表聚合了已经使用unix时间戳的外部数据源。转换为日期时间(或者甚至首先转换为db字符串,经过2个gsub)耗尽了大部分导入时间。否则我可能只是在做一个非常便宜的Intege

java - 使用 Hibernate 在 MySQL 上将 TIMESTAMP 复制到 DATETIME

我有这两个类classSource{//mappedtoTIMESTAMP@Version@Column(columnDefinition="TIMESTAMP(3)DEFAULT'2016-01-01'")InstantmyInstant;}classDestination{//mappedtoDATETIME@Basic(optional=true)InstantmyInstant;}使用Hibernate时,我赋值destination.myInstant=source.myInstant;然后存储值比原始值小一小时-根据命令行MySQL客户端和Java。我当前的时区是UTC+1

java - 使用 Hibernate 在 MySQL 上将 TIMESTAMP 复制到 DATETIME

我有这两个类classSource{//mappedtoTIMESTAMP@Version@Column(columnDefinition="TIMESTAMP(3)DEFAULT'2016-01-01'")InstantmyInstant;}classDestination{//mappedtoDATETIME@Basic(optional=true)InstantmyInstant;}使用Hibernate时,我赋值destination.myInstant=source.myInstant;然后存储值比原始值小一小时-根据命令行MySQL客户端和Java。我当前的时区是UTC+1

mysql - 更改表添加新字段 "ON UPDATE CURRENT_TIMESTAMP"

这是我的table:CREATETABLE`megssage`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(256)DEFAULTNULL,`time_create`datetimeDEFAULTNULL,PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=latin1我想将新列添加为time_updated,默认值为“ONUPDATECURRENT_TIMESTAMP”。我试过这个:ALTERTABLE`megssage`CHANGE`time_updated``time_updated`TIME

mysql - 更改表添加新字段 "ON UPDATE CURRENT_TIMESTAMP"

这是我的table:CREATETABLE`megssage`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(256)DEFAULTNULL,`time_create`datetimeDEFAULTNULL,PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=latin1我想将新列添加为time_updated,默认值为“ONUPDATECURRENT_TIMESTAMP”。我试过这个:ALTERTABLE`megssage`CHANGE`time_updated``time_updated`TIME

mysql - 如何将 "ON update current timestamp"添加到现有表列

我有一个列,比如ts_activity,其数据类型为MYSQL中的时间戳,默认值为当前时间戳。我想在更新时添加将当前时间戳应用于此列值。我无法获得更改查询来执行此操作。在创建新表及其列时,我可以添加它,但无法通过添加更新应用当前时间戳来修改现有列。有人可以告诉我确切的查询来处理这个吗?我们可以在创建表后更改它吗? 最佳答案 Devart'ssuggestion会工作,但如果我不重命名该列,我更喜欢使用MODIFYCOLUMN而不是CHANGECOLUMN。我还假设您的ts_activity列不可为空,因为您有默认值,所以我将其设置为

mysql - 如何将 "ON update current timestamp"添加到现有表列

我有一个列,比如ts_activity,其数据类型为MYSQL中的时间戳,默认值为当前时间戳。我想在更新时添加将当前时间戳应用于此列值。我无法获得更改查询来执行此操作。在创建新表及其列时,我可以添加它,但无法通过添加更新应用当前时间戳来修改现有列。有人可以告诉我确切的查询来处理这个吗?我们可以在创建表后更改它吗? 最佳答案 Devart'ssuggestion会工作,但如果我不重命名该列,我更喜欢使用MODIFYCOLUMN而不是CHANGECOLUMN。我还假设您的ts_activity列不可为空,因为您有默认值,所以我将其设置为