【发布时间】:2014-10-08 16:18:24
【问题描述】:
mysqldump -t -u root -p mytestdb mytable --where=datetime LIKE '2014-09%'
这就是我正在做的事情,它会返回:
mysqldump: Couldn't find table: "LIKE"
我正在尝试返回列 datetime 为 like 2014-09 的所有行,意思是“所有九月行”。
【问题讨论】:
mysqldump -t -u root -p mytestdb mytable --where=datetime LIKE '2014-09%'
这就是我正在做的事情,它会返回:
mysqldump: Couldn't find table: "LIKE"
我正在尝试返回列 datetime 为 like 2014-09 的所有行,意思是“所有九月行”。
【问题讨论】:
您可能需要使用引号:
mysqldump -t -u root -p mytestdb mytable --where="datetime LIKE '2014-09%'"
【讨论】:
使用 LIKE 选择日期不是一个好主意。我在一个项目中看到了这种方法。这会导致巨大的 DBMS 负载和缓慢的系统操作,因为此表列没有使用索引。
如果您需要选择日期范围,请使用:
where datetime between '2014-09-01' and '2014-09-30 23:59:59'
【讨论】: