mysqldump --where 子句未按预期工作
mysqldump --where clause is not working as expected
我只想转储最新的行。但是当我通过 --where 选项时,它不会转储行。但是当我使用相同的 where 子句执行 select 查询时,它 returns 行。这是我的 select 查询:
SELECT * FROM abc.`xyz` WHERE UPDATED_AT >="2015-11-11 10:03:37";
这是我的 mysqldump 命令:
mysqldump --no-create-info --replace -h source_server --user=backup1 --password='passcode' abc xyz --where='UPDATED_AT >="2015-11-11 10:03:37"' > "backup.sql"
上面的mysqldump命令有什么问题为什么不转储记录?
转储文件部分如下:
--
-- Dumping data for table `xyz`
--
-- WHERE: UPDATED_AT >='2015-11-11 10:03:37'
LOCK TABLES `xyz` WRITE;
/*!40000 ALTER TABLE `xyz` DISABLE KEYS */;
/*!40000 ALTER TABLE `xyz` ENABLE KEYS */;
UNLOCK TABLES;
where 子句中的UPDATED_AT
字段类型是时间戳我将字段类型更改为DATETIME。它按预期工作。
对于上述字段类型更改的最新版本,但对于 mysql 5.0.5
FROM_UNIXTIME
有效。
尝试以下命令:
mysqldump --tz-utc=0 --no-create-info --replace -h source_server --user=backup1 --password='passcode' abc xyz --where='UPDATED_AT >="2015-11-11 10:03:37"' > "backup.sql"
我只想转储最新的行。但是当我通过 --where 选项时,它不会转储行。但是当我使用相同的 where 子句执行 select 查询时,它 returns 行。这是我的 select 查询:
SELECT * FROM abc.`xyz` WHERE UPDATED_AT >="2015-11-11 10:03:37";
这是我的 mysqldump 命令:
mysqldump --no-create-info --replace -h source_server --user=backup1 --password='passcode' abc xyz --where='UPDATED_AT >="2015-11-11 10:03:37"' > "backup.sql"
上面的mysqldump命令有什么问题为什么不转储记录?
转储文件部分如下:
--
-- Dumping data for table `xyz`
--
-- WHERE: UPDATED_AT >='2015-11-11 10:03:37'
LOCK TABLES `xyz` WRITE;
/*!40000 ALTER TABLE `xyz` DISABLE KEYS */;
/*!40000 ALTER TABLE `xyz` ENABLE KEYS */;
UNLOCK TABLES;
where 子句中的UPDATED_AT
字段类型是时间戳我将字段类型更改为DATETIME。它按预期工作。
对于上述字段类型更改的最新版本,但对于 mysql 5.0.5
FROM_UNIXTIME
有效。
尝试以下命令:
mysqldump --tz-utc=0 --no-create-info --replace -h source_server --user=backup1 --password='passcode' abc xyz --where='UPDATED_AT >="2015-11-11 10:03:37"' > "backup.sql"