我试图在我的数据库中存储时间值,但是stru to date函数在mysql中不起作用,但是当我在w3school sql引擎上尝试时,它在相同的格式下运行良好。
INSERT INTO `discussions`( `Name`, `Topic`, `Author`, `Auth_ID`, `day`, `Date`, `Time`, `Activated`, `Topic_ID`)
VALUES ('asdfgh','PCB Designing','ShahzaibAhmed',1,'Sunday','2018-10-28',Time(STR_TO_DATE( '03:57:AM', '%h:%i:%p' ) ),1,2);
这就是我尝试时遇到的错误
另外,当我把它改为日期只有它是工作良好,插入正确没有任何错误
INSERT INTO `discussions`( `Name`, `Topic`, `Author`, `Auth_ID`, `day`, `Date`, `Time`, `Activated`, `Topic_ID`)
VALUES ('asdfgh','PCB Designing','ShahzaibAhmed',1,'Sunday','2018-10-28',Time(STR_TO_DATE( '20120801', '%Y%m%d' ) ),1,2)
1条答案
按热度按时间s8vozzvw1#
似乎依赖于mysql版本:
在mysql-5.6中解析时间,但在mysql-5.7或mysql-8.0中不解析。
mariadb-10.3和10.2正确解析结果。
mysql错误71386强调了sql\u模式
=NO_ZERO_DATE
,在以后的mysql版本中是默认的,会产生影响,尽管它只是一个时间。mariadb-10.3返回正确的结果事件
sql_mode=NO_ZERO_DATE
已设置。因此,要解决您的错误,请在此查询之前在会话中禁用“no\u zero\u date”: