如何解决使用 str_to_date() 插入文本作为日期时出现“截断不正确的值”错误
以下是场景:
create table test (test_date date);
insert into test values (str_to_date('16/04/1991','%d/%m/%y'))
MysqL 不允许我插入此记录并显示错误“截断的错误值”
我尝试使用 IGnorE
:
insert ignore into test values (str_to_date('16/04/1991','%d/%m/%y'))
但它捕获的年份为 2019 年。
请帮忙。
谢谢!
解决方法
insert into test values (str_to_date('16/04/1991','%d/%m/%Y'))
年份应该是 %Y
请参考此page
,这实际上是一个警告,而不是一个错误,这是因为 MySQL 在严格模式下运行。在严格模式下,尝试插入/更新时警告会变成错误。要禁用严格模式,您可以将 SET sql_mode = '';
放在查询的开头。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。