2015-11-11 39 views
1

我想僅轉儲最新行的轉儲。但是當我傳遞--where選項時,它不會傾倒行。但是當我執行與相同的where子句選擇查詢它返回行。這是我的選擇查詢:mysqldump - where子句不按預期方式工作

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; 
+0

它工作正常,當我刪除'where' – Baran

+0

那麼'where'條件真的是問題。現在,它永遠不會回覆真實。 –

+0

UPDATED_AT是不是日期時間的時間戳。我應該嘗試改變字段類型嗎? – Baran

回答

0

在子句UPDATED_AT字段類型是時間戳我改變字段類型爲DATETIME。它按預期工作。

對於最新版本的字段類型改變工程,但爲mysql 5.0.5 FROM_UNIXTIME工程。

+0

FROM_UNIXTIME返回所有行。 – Baran