避免Mysqldump将datetime null转换为零日期“ 0000-00-00 00:00:00”

时间:2019-11-06 08:50:36

标签: mysql datetime

由于某种原因,mysqldump命令将datetime列的NULL值转换为零日期时间值(“ 0000-00-00 00:00:00)。

为解决这种情况,我正在用SED解析sql输出以替换该字符串,但是我想知道是否有更好的方法(mysqldump参数或mysql insert参数)

一些“特殊”详细信息:

  • 提取完整的数据库时不会发生(然后导出工作正常)
  • 我正在使用带有内部联接技巧的mysqldump(-where =“ id in(从目标表_with_inner_joins中选择ID))提取记录的子集
  • 这很好奇,因为我在数据库中以相同的方式定义了多个datetime列,并且只在一个表和该表中的几个datetime字段中发生。

这或多或少是我用来提取数据的命令:

      mysqldump ${_credentials} table_anme --no_create_info --lock-all-tables --extended-insert --where "id in (SELECT table_name.id FROM  table_name INNER JOIN other_table ot ON table_name.id = ot.id_table_name ...)" > /backup/table_name.sql

0 个答案:

没有答案