草庐IT

gettime-timestamp

全部标签

mysql - 如何使用 sqlalchemy 在 mysql 中设置 DEFAULT ON UPDATE CURRENT_TIMESTAMP?

我正在用sqlalchemy创建表。user=Table('users',Metadata,Column('datecreated',TIMESTAMP,server_default=text('CURRENT_TIMESTAMP')),Column('datemodified',TIMESTAMP,server_onupdate=text('CURRENT_TIMESTAMP')),)但这不会设置DEFAULTONUPDATECURRENT_TIMESTAMP。我checkoutHowdoyougetSQLAlchemytooverrideMySQL"onupdateCURRENT_

mysql - timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP 在一台机器上可以为空,但在另一台机器上不行?

我有一个MySql表,其字段定义为:`created`timestampNOTNULLDEFAULTCURRENT_TIMESTAMP在我的本地机器上,我可以运行:INSERTINTOmytbl(id,user_id,created)VALUES(88882341234,765,null);SELECTid,user_id,createdFROMmytblWHEREid='88882341234';然后“创建”将显示类似“2014-06-1321:16:42”的内容。但在我的登台服务器上,如果我运行相同的查询,我会收到此错误:Column'created'cannotbenull.表的

Mysql datetime DEFAULT CURRENT_TIMESTAMP错误

1.当我在Windows上运行此MYSQL语法时,它运行正常:CREATETABLENew(idbigintNOTNULLAUTO_INCREMENT,timeUpdatetimeDEFAULTCURRENT_TIMESTAMP,PRIMARYKEY(id))但是当我尝试在Linux上运行这段代码时出现错误:#1067-Invaliddefaultvaluefor'time'2.在Windows上,大小写不敏感,例如。New和new都被认为是相同的。但在Linux上,大小写很敏感。Linux的配​​置:MySQL5.5.33,phpMyAdmin:4.0.5,PHP:5.2.17Win

MySQL - TIMESTAMP(3) 的默认值

我的数据库是MySql5.6。我想使用CURRENT_TIMESTAMP作为TIMESTAMP(3)类型的属性的默认值。但我得到了错误:ERROR1067(42000):Invaliddefaultvaluefor'updated'我认为这是因为CURRENT_TIMESTAMP的精度只有秒。如何将当前时间设置为带小数部分的时间戳的默认值? 最佳答案 根据关于timestamp和datetime类型列的文档:IfaTIMESTAMPorDATETIMEcolumndefinitionincludesanexplicitfractio

mysql : how to calculate business hrs between two timestamps and neglect weekends

我的表有示例数据,我需要计算两列中两个时间戳之间的营业时间。营业时间:上午9:00至下午5:00,忽略周六和周日,我不考虑公共(public)假期。有人可以提供一些关于如何实现这一目标的指导吗?我想要第3列中所述的所需输出,日期格式为:yyyy-mm-ddCreateddateUpdateddateBusinesshrs2012-03-059:00am2012-03-053:00pm62012-03-0510:00am2012-03-0610:00am92012-03-094:00pm2012-03-1910:00am2 最佳答案

PHP & MySQL : Converting Stored TIMESTAMP into User's Local Timezone

所以我有一个具有评论功能的站点,其中评论的时间戳存储在MySQL数据库中。据我了解,时间戳在存储时转换为UTC,然后在检索时转换回默认时区。就我而言,我的服务器位于中央夏令时时区(CDT)。我计划通过输入表单从每个用户那里获取时区。我只是想知道如何将TIMESTAMP值转换为用户的时区。首先,我会从UTC转换为本地时区吗?或CDT到本地时区?其次,我将如何在PHP中执行此操作?我会这样做吗:$userTimezone=newDateTimeZone($userSubmittedTimezoneString);$myDateTime=newDateTime($storedTimestam

php - 如何将 TIMESTAMP 插入到我的 MySQL 表中?

在MySQL表中,我有一个名为日期的字段,其类型称为时间戳,默认值为CURRENT_TIMESTAMP。但是,如果我在MySQL中将该字段留空,则会出现错误。当我尝试向其中插入诸如time()之类的内容时,我收到的日期为0000-00-0000:00:00。 最佳答案 除了检查您的表设置以确认该字段设置为NOTNULL并默认为CURRENT_TIMESTAMP,您还可以通过PHP插入日期/时间值以与MySQL兼容的字符串格式编写它们。$timestamp=date("Y-m-dH:i:s");这将为您提供可以插入MySQL的字符串格

mysql - 如何从现有列中删除 ON UPDATE CURRENT_TIMESTAMP?

我做了一个mysql5.5数据库的转储并将其加载到5.6服务器中。转储将ONUPDATECURRENT_TIMESTAMP添加到一堆以前没有的列中。我正在搜索将删除ONUPDATECURRENT_TIMESTAMP规则而不进行任何其他更改的ALTERTABLE语句。在我的想象中,它应该类似于ONUPDATENOOP或ONUPDATENO_CURRENT_TIMESTAMP。ONUPDATEJUST_BE_A_NORMAL_COLUMN?我尝试在mysql工作台中使用“清除默认值”选项,但它做了与应该做的相反的事情-它给了列一个默认值!我能够使用ALTERTABLEtALTERCOLUM

mysql - "set timestamp"怎么会是慢查询?

我的慢查询日志充满了如下条目:#Query_time:1.016361Lock_time:0.000000Rows_sent:0Rows_examined:0SETtimestamp=1273826821;COMMIT;我猜settimestamp命令是由复制发出的,但我不明白settimestamp是如何接管一秒钟的。关于如何解决此问题的任何想法? 最佳答案 Timestamp是MySQL中的一种数据类型和内置函数。您想通过以下语句达到什么目的?SETtimestamp=1273826821;UPD:抱歉,我不知道使用过的MySQ

mysql - 将mysql列从INT转换为TIMESTAMP

当我还年轻并且愚蠢没有什么经验时,我决定用PHP生成时间戳并将它们存储在我的MySQL的INT列中是个好主意创新表。现在,当这个表有数百万条记录并且需要一些基于日期的查询时,是时候将该列转换为TIMESTAMP。我该怎么做?Currenlty,我的表是这样的:id(INT)|message(TEXT)|date_sent(INT)---------------------------------------------1|hello?|13282875262|howareyou?|13282874563|shutup|13282342344|ok|13286789785|areyou.