Mysql 如何更新phpmyadmin中的datetime字段

Mysql 如何更新phpmyadmin中的datetime字段,mysql,Mysql,我在mysql数据库中有一个datetime字段,正在尝试更新phpmyadmin中的日期。但是,当我运行代码时,它只显示0行受影响的行。我只需要更新日期,如果可能的话,但如果有一种方法也更新时间,那很好 如果有人能指出我的错误,我将不胜感激。谢谢 UPDATE boxes SET intake_date = '2017-04-20' WHERE intake_date = '2012-07-18'; 使用海螺 UPDATE boxes SET intake_date = concat('20

我在mysql数据库中有一个datetime字段,正在尝试更新phpmyadmin中的日期。但是,当我运行代码时,它只显示0行受影响的行。我只需要更新日期,如果可能的话,但如果有一种方法也更新时间,那很好

如果有人能指出我的错误,我将不胜感激。谢谢

UPDATE boxes SET intake_date = '2017-04-20' WHERE intake_date = '2012-07-18';
使用海螺

UPDATE boxes SET intake_date = concat('2017-04-20 ', time(intake_date))  WHERE intake_date '2012-07-18'
由于日期时间格式为:
Y-m-d H:i:s
,CONCAT将添加您想要的日期(不要忘记日期后的空格)。您将“录取日期”列的时间添加到
2017-04-20
中,并创建了一个日期时间


时间(录取日期)
2012-07-18 12:34:56将返回:12:34:56,因此您将其添加到2017-04-20

您是否应该将where子句设置为id或其他内容?@类似于为什么?我正试图用那个日期更新所有记录。thanksUPDATE框设置的入住日期为“2017-04-20 00:00:00”,其中入住日期为“2012-07-18”@如果可能的话,我需要保留原始时间并更新日期。感谢PhpMyAdmin是一个图形工具,我想说你需要点击表格单元格,编辑并保存:-?谢谢你的回复。但是,它抛出了一个错误。在where之后应该有a=吗?我添加了它,它仍然显示0行受影响。这是我在有空格和没有空格的情况下都尝试过的:更新框设置摄入日期=concat('2017-04-20 12:34:56',time(摄入日期)),其中摄入日期='2012-07-18'@user1532468由于where子句应包含所需的完整列值,因此您将得到0行。也不要把时间花在咖啡上。你的where从句永远不会成功,因为我只是以你的问题为例。然后我被你的答案弄糊涂了。您声明:2012-07-18 12:34:56的时间(录取日期)将返回:12:34:56所以您将其添加到2017-04-20我误解您了吗?Thanks@user1532468是,这意味着CONCAT的第一个参数不应该包括时间。就像你在这里做的:
concat('2017-04-20 12:34:56',time(摄入日期))
应该是
concat('2017-04-20',time(摄入日期))
,你的where语句应该与你想要更新的列匹配。恐怕我完全误解了。你能对你的答案做一个编辑,以显示它应该是怎样的吗。谢谢