mysql - 用零存储日期(无效的日期时间格式)
问题描述
我在 MySQL 文档中读到,00
如果我不知道月份或日期,我可以存储生日,这正是我需要的,但这仅适用于旧的 MySQL 版本还是打开了某些选项?
MySQL 允许您在 DATE 或 DATETIME 列中存储日期或月份和日期为零的日期。这对于需要存储您可能不知道确切日期的生日的应用程序很有用。在这种情况下,您只需将日期存储为“2009-00-00”或“2009-01-00”。
来源:https ://dev.mysql.com/doc/refman/8.0/en/date-and-time-types.html
当我运行播种机时,我得到了这个。
SQLSTATE [22007]:无效的日期时间格式:1292 不正确的日期值:第 1 行的列“birth_date”的“1806-00-00”
还有其他解决这个问题的建议吗?
解决方案
连接到 MySQL 后立即发出此 SQL 语句,每次连接时。
SET @@sql_mode := REPLACE(@@sql_mode, 'NO_ZERO_IN_DATE', '');
这将关闭您的连接的NO_ZERO_IN_DATE 模式,允许您按照您的要求进行操作。
推荐阅读
- javascript - 我们可以承诺等到解决并再次回调承诺吗
- python - 字典语法错误的打印项
- ios - 键盘分辨率低
- java - 如何覆盖摆动组件?
- elasticsearch - 如何根据源命中在弹性搜索中获得准确的总和?
- python - 如何从命令行为 python 脚本选择变量?
- python-3.x - tensorflow 1.8 和 windows64 中的 python 3.6
- javascript - res.send() sends Type Error: callback is not a function - although whole procedure runs correct (async.waterfall)
- python - How to get certains keys of a dictionnary and their values with it?
- c# - Dapper SQL Query with 2 models