MySQL:将日期时间插入其他日期时间字段

标签 mysql sql datetime insert

我有一个包含 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,不知何故,我认为它在处理日期时给了我一些安全性和其他优势。现在看来它只是一个专门的 VARCHAR,可以这么说。

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

最佳答案

根据 MySQL 文档,您应该能够将该日期时间字符串用单引号 ('YYYY-MM-DD HH:MM:SS') 括起来,并且它应该可以工作。看这里:Date and Time Literals

所以,在你的情况下,命令应该如下:

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

关于MySQL:将日期时间插入其他日期时间字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8551940/

相关文章:

PHP 分页不起作用

mysql - 如何使用 SQL 从格式化的字母数字字符串中提取第一个和第二个数字?

SQL 最大值和分组依据

php - 如何运行具有多个值的删除sql查询

php - 合并2个MySQL数据库而不加倍数据

php - 循环我的测验 ID 并获取每个测验 ID 并将其插入到答案表中

php - MySQL WHERE 子句与 JOIN

javascript - 格式化 View 中的日期输入 Angular JS

c# - 无法将 MySQL 日期/时间值转换为 System.DateTime

Python时差