小编典典

MySQL:将datetime插入其他datetime字段

mysql

我有一个带有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,可以这么说。

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


阅读 297

收藏
2020-05-17

共1个答案

小编典典

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

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

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