尝试运行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
答案 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行。