带斜杠的mysql更新日期时间日期

带斜杠的mysql更新日期时间日期,mysql,centos,mariadb,Mysql,Centos,Mariadb,如何在mysql中更新DATETIME列 尝试使用:(和许多其他) 我并不关心数据库中日期的格式,但是需要能够用01/01/2001 01:01格式更新当前行 update contacts set replydate=STR_TO_DATE('1/9/2020 13:32', '%m/%d/%Y hh:mm') where id='3'; 日期不是当前日期,这些日期与电子表格中的日期不同,格式相同 MariaDB [ddcontactsdb]> describe contacts; +

如何在mysql中更新DATETIME列

尝试使用:(和许多其他)

我并不关心数据库中日期的格式,但是需要能够用01/01/2001 01:01格式更新当前行

update contacts set replydate=STR_TO_DATE('1/9/2020 13:32', '%m/%d/%Y hh:mm') where id='3';
日期不是当前日期,这些日期与电子表格中的日期不同,格式相同

MariaDB [ddcontactsdb]> describe contacts;
+----------------+-----------------+------+-----+-------------------+-----------------------------+
| Field          | Type            | Null | Key | Default           | Extra                       |
+----------------+-----------------+------+-----+-------------------+-----------------------------+
| replydate      | datetime        | YES  |     | NULL              |                             | 
+----------------+-----------------+------+-----+-------------------+-----------------------------+

您必须使用以下格式:

update contacts set replydate=STR_TO_DATE('1/9/2020 13:32', '%m/%d/%Y %H:%i') where id='3';

因为
m
代表月份,
i
代表分钟,也就是
H
代表小时
00-23
,您必须使用以下格式:

update contacts set replydate=STR_TO_DATE('1/9/2020 13:32', '%m/%d/%Y %H:%i') where id='3';

因为
m
代表月份,
i
代表分钟,同时
H
代表小时
00-23

@forpas我需要一个使用“1/9/2020 13:32”的命令,我不想转换数千个dates@forpasDatetime在单引号字符串中有一个非常特定的格式。此外,您的注释没有考虑输入值。@PanChristensen该注释应该删除,我将删除它。当我读到这个问题时,我的第一个想法是OP想用类似varchar date的格式化值更新列,这就是格式的含义,@forpas我需要一个使用'1/9/2020 13:32'的命令我不想转换数千个dates@forpasDatetime在单引号字符串中有一个非常特定的格式。此外,您的注释没有考虑输入值。@PanChristensen该注释应该删除,我将删除它。当我读到这个问题时,我的第一个想法是OP想用一个类似varchar date的格式化值来更新列,这就是格式的含义,MariaDB[ddcontactsdb]>select id,replydate from contacts,其中id=3;+------------------++|id | replydate |+---------+| 3 | NULL |+---------+MariaDB[ddcontactsdb]>选择id,从id=3的联系人中replydate;+----+----++id | replydate |+---------+| 3 | NULL |+----+-----------+