草庐IT

event_datetime

全部标签

php - Doctrine 合并 : DateTime field always updated

我用现有的Id创建了一个新实体,我想更新相关的数据库记录。Doctrinemerge一直是我最好的friend:识别是否有变化并生成正确的更新查询。$entity=newEntity();$entity->setId(1);$entity->setName('test');$EntityManager->merge($entity);$EntityManager->flush();假设id=1的元素已经存在于数据库中:如果名称与'test'不同,Doctrine生成此查询:UPDATEtableSETname=?WHEREid=?["test","1"]如果我再次运行上面的代码,Doc

mysql - DATETIME 选择过去 2 小时内的行

我正在尝试选择过去2小时内的行。由于某种原因,它不起作用。代码语法看起来不错,在其他表上使用时也能正常工作,但出于某种原因,在表Posts上使用时,会得到超过2小时的行。SELECT*FROMPostsWHERE`Date`>SUBDATE(CURRENT_DATE,INTERVAL2HOUR)代码有问题吗?还有别的写法吗?这可能是什么原因? 最佳答案 您可以使用更简单的符号:SELECT*FROMPostsWHERE`Date`>NOW()-INTERVAL2HOUR 关于mysql-

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

php - 什么是 "MySQL event"?

什么是“MySQL事件”?它的目的是什么?它与“作业调度程序”有何不同?关于SO和MySQL文档的许多帖子都描述了如何实现MySQL事件,但我只是对它们的用途感兴趣。 最佳答案 MySQL事件提供了计划任务和cron作业的替代方案。事件可用于创建备份、删除陈旧记录、汇总报告数据等。与在给定特定条件下执行的标准触发器不同,事件是由时间流逝触发的对象,有时称为时间触发器。引用下面的链接解释了这里的一切:http://phpmaster.com/working-with-mysql-events/

mysql - 如何仅更新 MySQL 中 DATETIME 字段的小时数?

我想更新一个DateTime列,它只更改时间而不修改任何其他内容。我不能用来添加间隔,因为值都不同。也有许多不同的日期。因此需要将确切所需日期的小时更改为where条件。例如:***************************************************Before*|*After**************************|**************************2017-07-2419:06:15*|*2017-07-2415:06:15****2017-07-2417:12:23*|*2017-07-2415:12:23****2017

javascript - Bookshelf.js/Knex.js 太 "helpful"与 UTC DATETIME 列

我有一个MySQL表,这个表有一个名为datetime_utc的DATETIME列。如您所料,它是UTC日期和时间。在我的Bookshelf模型中,我定义了一个虚拟getter,它使用Moment.js将其转换为ISO8601字符串格式。我的模型看起来像这样:bookshelf.plugin('virtuals');exports.MyModel=bookshelf.Model.extend({tableName:'my_table',idAttribute:'id',virtuals:{datetime_iso:{get:function(){returnmoment.utc(thi

mysql - UNIX 时间戳到 MySQL DATETIME

我有一个包含统计信息的表和一个名为time的字段,带有Unix时间戳。表中大约有200行,但我想在不丢失当前行的情况下将Unix时间戳更改为MySQLDATETIME。当前表:CREATETABLE`stats`(`id`int(11)unsignedNOTNULLauto_increment,`time`int(11)NOTNULL,`domain`varchar(40)NOTNULL,`ip`varchar(20)NOTNULL,`user_agent`varchar(255)NOTNULL,`domain_id`int(11)NOTNULL,PRIMARYKEY(`id`))EN

MySQL DATETIME - 仅更改日期

开始于:2011-01-1709:30:00假设我只想编辑2011-01-28的日期结束时最有效的方法是什么:2011-01-2809:30:00谢谢!对于每个说Date_Add...的人来说,这需要我减去日期,然后加上天数。那是一种可能性……但我希望删除第一步,而只是“替换”日期 最佳答案 如果你真的不想使用date_add函数,可以考虑使用这个构造:UPDATEtable_nameSETfield_name=concat('2011-01-12',time(field_name))确保在日期后添加一个空格('2011-01-12

mysql - 在 DateTime 中删除时间

我的表将日期存储为一个问题2009-01-1010:00:00.000我还有另一个表将日期存储为2009-01-1012:00:00.000我知道它们不一样,但日期是一样的,SQL中有没有办法轻松地删除时间并只保留日期进行比较?谢谢。 最佳答案 运行这个SELECTDATEADD(dd,DATEDIFF(d,0,Getdate()),0)将Getdate()更改为您的列名以删除日期顺便说一句,如果你正在做比较,最好做>=和 关于mysql-在DateTime中删除时间,我们在StackO

php - 如何检查字符串是否为有效的 DATE、TIME 或 DATETIME

当我尝试将值放入无效的DATE字段时,MySQL似乎使用0000-00-00代替。有没有一种方法可以在不更新DATE字段的情况下进行此“检查”?并通过例如PHP来做到这一点?比如,有没有一种方法可以查询MySQL服务器并询问“嘿,这个DATE、TIME或DATETIME对你有效吗?”或者有没有更好的方法? 最佳答案 我在我的应用程序中使用了这种语法,它的效果非常好!SELECTDATE('2013-09-31')ASvalid;我的系统是Win7x64,PHP5.5和MySQL5.6.16