尝试在MySql中的列之间传输数据

时间:2013-04-14 19:24:59

标签: php mysql database

我有一个带有'testimport'表的数据库。 该表包含 - 一个列(DateOccurred),它是日期时间格式并包含0000-00-0000,00:00:00 - 包含20/03/2013 14:17 in varchar(255)utf8_general_ci格式的专栏(评论)。

我正在尝试将“评论”的内容转移到“Dateoccurred”,它应该存储为日期/时间,但仅限于ID为2的行。

我试过这个(和各种变化)没有运气。

UPDATE testimport SET DateOccurred = DATE_FORMAT(STR_TO_DATE(Comments, '%d/%m/%Y %h:%m:%s'), '%Y-%m-%d %h:%m:%s') WHERE ID=2

这会导致'DateOccurred'列更改为'Null'的内容。

任何人都可以告诉我哪里出错了。

1 个答案:

答案 0 :(得分:1)

更改

STR_TO_DATE(Comments, '%d/%m/%Y %h:%m:%s')

STR_TO_DATE(Comments, '%d/%m/%Y %H:%i')

因为您没有标记秒数。此外,分钟使用%i,小时数需要%H

点击此处查看完整列表:MySQL Docs


您的完整查询可以缩短/修改为

UPDATE testimport 
SET DateOccurred = STR_TO_DATE(Comments, '%d/%m/%Y %H:%i')
WHERE ID = 2