简单的shell脚本从db中删除帖子

时间:2014-08-08 03:00:54

标签: mysql sql bash

尝试运行shell脚本以从wordpress数据库中删除帖子。目前它只是输出mysql语法帮助屏幕。我想知道是否有人可以帮我调试这个脚本:

#!/bin/bash
mysql -u ***** -p***** admin-wp "SELECT * FROM admin_wp.wp_8_posts LIMIT 0, 10
WHERE post_type = 'post' AND DATEDIFF(NOW(), post_date) > 30" << EOFMYSQL

1 个答案:

答案 0 :(得分:0)

如果您将查询放在命令行中,请使用-e选项进行介绍,并且不需要<<EOFMYSQL

mysql -u ***** -p***** admin-wp -e "SELECT * FROM admin_wp.wp_8_posts WHERE post_type = 'post' AND DATEDIFF(NOW(), post_date) > 30 LIMIT 0, 10 "

如果你想使用here-doc,你可以把它放在命令之后:

mysql -u ***** -p***** admin-wp <<EOFMYSQL
SELECT * 
FROM admin_wp.wp_8_posts 
WHERE post_type = 'post' AND DATEDIFF(NOW(), post_date) > 30
LIMIT 0, 10 
EOFMYSQL

此外,您的SQL语法错误。 LIMIT必须在WHERE之后。顺便说一句,在没有LIMIT的情况下使用ORDER BY没有多大意义 - 它只会从结果中挑选任意10行。