草庐IT

timestamp_h

全部标签

mysql - 在 MySQL 中将日期存储为 unix 时间戳或 TIMESTAMP 数据类型?

我需要在MySQL数据库中存储日期(带时间)。我希望能够按照我喜欢的方式格式化这些。那么在MySQL数据库中存储日期的最佳方式是什么?DATETIME类型、TIMESTAMP类型或只是数字数据类型中的unix时间戳?我将使用PHP检索日期。 最佳答案 通常使用TIMESTAMP或DATETIME数据类型并不重要。在旧版本中,TIMESTAMP是4个字节,DATETIME是8个字节。将DATETIME想象成时钟的图片;将TIMESTAMP视为世界范围内的一个瞬间。也就是说,如果您连接到同一个数据库,但来自不同的时区,DATETIME看

mysql - 玛丽亚数据库/MySql : Setting CURRENT_TIMESTAMP on CREATE and changing noting on UPDATE

我已经有几年没有使用MySQL了,当我创建一个新表时,它做了一些我意想不到的事情。我正在使用MariaDBv5.5.60-MariaDB我需要创建一个包含created列和updated列的表。我需要在创建行时将created列仅设置为CURRENT_TIMESTAMP,然后除非我明确更改它,否则永远不会更改。我需要在创建行和更改行时将updated列设置为CURRENT_TIMESTAMP。如果我执行以下操作:CREATETABLEuser_prefs(idBIGINTUNSIGNEDNOTNULLAUTO_INCREMENTUNIQUE,userVARCHAR(255)NOTNUL

sql - 在 TIMESTAMP 类型的 MySQL 列中使用零值

我对MySQL中TIMESTAMP类型的文档以及零值是否可以安全使用感到有点困惑。manualsays:TheTIMESTAMPdatatypehasarangeof'1970-01-0100:00:01'UTCto'2038-01-1903:14:07'UTC....这意味着“0000-00-0000:00:00”超出范围,因此无效。但是,据我所知,手册实际上并没有这样说。它也没有明确说明“0000-00-0000:00:00”是有效值。实践表明'0000-00-0000:00:00'有效,而manualdoessay那:CREATETABLEt(tsTIMESTAMPDEFAULT

mysql - 如何在 CURRENT_TIMESTAMP MySQL 中添加 24 小时?

我想在数据库表中添加过期时间戳。我有一个时间戳字段,类型为TIMESTAMP,默认值为CURRENT_TIMESTAMP()。我添加了DATETIME类型的新字段“expire”,默认值为ADDDATE(CURRENT_TIMESTAMP,INRERVAL1DAY),但不起作用。CREATETABLEIFNOTEXISTS`temp_mch`(`name`varchar(60)NOTNULL,`qty_new`int(5)NOTNULL,`timestamp`timestampNOTNULLDEFAULTCURRENT_TIMESTAMP,PRIMARYKEY(`name`),KEY`

python转mysql 'Timestamp'对象没有属性 'translate'

我正在尝试使用Sqlalchemy将pandas数据框加载到mysql表。我连接使用;engine=create_engine("mysql+pymysql://user:password@ip:port/db")然后我只是在运行;df.to_sql(con=engine,name='Table',if_exists='append',index=False,chunksize=10000);一直报错AttributeError:'Timestamp'objecthasnoattribute'translate'当我使用旧版本并通过pymysql而不是sqlalchemy执行此操作时,

PHP strtotime 返回 Mysql UNIX_TIMESTAMP 的不同值

我在stackoverflow上搜索过帖子,找到了一些类似的帖子。但我认为这是不同的帖子。我的PHP和Mysql服务器的时区都设置​​为“UTC”。在我使用时间戳字段的表中,值为“2010-11-0802:54:15”,我这样使用sql:SELECTid,updated,second(updated),unix_timestamp(updated)FROM`transaction`whereid=56明白了:idupdatedsecondunix--------------------------------------------562010-11-0802:54:151512891

mysql - 德尔福/MySql : timestamp in DB aware components

Delphi不使用*nix时间戳。在其他应用程序中,我在存储到MySql之前转换为*nix,并在检索时反转它。现在我想第一次尝试使用DB感知组件。它将如何用于时间戳?我应该(可以)以Delphitiemstamp格式存储吗?或者我应该在存储之前转换为*nix? 最佳答案 对于正常使用,您不需要做任何事情。我使用Delphi/MySQL多年,我使用过的所有数据访问组件(dbexpress/zeros/MyDAC)都会自动进行转换。如果我需要手动指定时间戳值,我只提供文本格式("yyyy/mm/ddhh:nn:ss")

php - Laravel/Carbon Timestamp 0000-00-00 00 :00:00 or Unexpected data found. 发现意外数据。数据缺失

我在数据库中有一个时间戳,我正试图让pig保存。我要么遇到MySQL时间戳为空的问题,要么遇到错误。发布的格式是英国标准。发布数据,我尝试了以下一些:$user['crb_date']=Carbon::createFromFormat('d/m/Y',$data['crb_date']);$user['crb_date']=Carbon::createFromFormat('d/m/Y',$data['crb_date'])->toDateTimeString();//Plusmanyothermorestddate(),strtodate()combos在我的模型上,我有自定义的ge

mysql - 比较日期的最快方法 : UNIX_TIMESTAMP or FROM_UNIXTIME or string

选择字段大于特定日期的行的最快方法是什么?WHEREdate>FROM_UNIXTIME(12345)或WHEREUNIX_TIMESTAMP(date)>12345或WHEREdate>'2011-05-0109:00:00' 最佳答案 最慢的是:WHEREUNIX_TIMESTAMP(date)>12345因为每次都必须为每一行调用unix_timestamp函数,并且日期列上的索引(如果存在)将不会被使用。其他的几乎是等价的:WHEREdate>FROM_UNIXTIME(12345)WHEREdate>'2011-05-01

mysql - current_timeStamp 不工作

我试过这段代码CREATETABLEusers(userIdINTPRIMARYKEYAUTO_INCREMENTNOTNUll,accountVARCHAR(200)NOTNULL,passwordvarchar(200)NOTNull,isActivevarchar(10)NOTNUll,createdDateDATETIMEDEFAULTCURRENT_TIMESTAMP()NOTNUll,updatedDateDATETIME);但是会出现下面的错误1067-“createdDate”的默认值无效谢谢 最佳答案 简单地使用C