当前位置: 首页 > 面试题库 >

MySQL:将datetime插入其他datetime字段

汪翰墨
2023-03-14
问题内容

我有一个带有DATETIME列的表。我想选择此datetime值并将其插入另一列。

我做到了(请注意:“ 2011-12-18 13:17:17”是前SELECT从DATETIME字段给我的值):

UPDATE products SET former_date=2011-12-18 13:17:17 WHERE id=1

并得到

    1064 - You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version 
for the right syntax to use near '13:17:17 WHERE itemid=1' at line 1

好的,我知道在其中放置未加引号的字符串是错误的,但是DATETIME首先只是一个字符串吗?什么
我摆在那里?我想要的只是可靠地将现有值转移到新的datetime字段…

编辑:

我问的原因是:我有这个特殊的定义DATETIME,我以某种方式认为它在处理日期时给了我一些安全性和其他优点。现在看来,它只是一个专门的VARCHAR,可以这么说。

感谢您的回答,看来这确实是预期的行为。


问题答案:

根据MySQL文档,您应该能够只将该日期时间字符串括在单引号(’YYYY-MM-DD
HH:MM:SS’)中,并且它应该可以工作。在这里查看:日期和时间文字

因此,在您的情况下,命令应如下所示:

UPDATE products SET former_date='2011-12-18 13:17:17' WHERE id=1


 类似资料:
  • 问题内容: 我有一个WebService返回DateTime字段。 我得到一个结果,但是 我想我怎么能做到这一点。 通过设置Header Content-Type:application / json; charset = utf-8; 我得到了类似的结果。 问题答案: 您可以更改您的WS以返回带有DateTime值的long。要返回的值是自Unix纪元(01/01/1970)以来的毫秒数。这可以

  • 问题内容: 我在MySQL的一栏中有一个UNIX类型的时间戳。将其作为MySQL检索的正确方法是什么? (我在重新扫描MySQL Date函数时找到了答案,但没有在SO上看到答案。应该在这里找到它。) 问题答案:

  • 问题内容: 如果要将结果插入MySQL 类型列中,传递给PHP函数的正确格式是什么? 我一直在尝试,但是每次都只插入“ 0000-00-00 00:00:00”。 问题答案: 问题是您正在使用和,它们是文本表示形式,MySQL希望使用格式的数字表示形式 尝试:使用数字等效项。 编辑:切换到,尽管可能没有影响,但您可能希望使用前导0的24小时格式。

  • 问题内容: 我有一堆记录,日期格式为字符串,例如“ 04/17/2009” 我想将它们转换为mysql datetime字段 我计划使用foreach循环读取旧的日期值,并将新格式化的值插入每个记录的新字段中 什么是转换字符串的最佳方法…我认为php可能有一种自动执行此方法的方法? 谢谢 问题答案: 首先,将字符串转换为时间戳: 然后做一个

  • 问题内容: 在我们的项目中,我们使用Zend Framework Model生成器,该生成器会生成类似这样的内容,以将存储在DB(MySQL)中的属性设置为DATETIME字段: 因此,ISO :: 8601格式的字符串(例如‘2012-06-15T18:33:00 + 03:00’)实际上是作为属性存储的。 当我们尝试使用此模型并将该字符串传递给MySQL(版本5.5.16)时,就会出现问题:它

  • 现有的MySQL表有一个DateTime字段,该字段不为null,默认值设置为'0001-00-0000:00:00'。是否可以更改此表以移除DateTime字段的默认值?