我需要将2017年2月特定表格中所有记录的 post_status 字段更改为 wc-pending
我已经想出如何选择所有这些记录:
grep -E -o "\b[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9.-]+\b|first_name.{0,40}|[(]?[2-9]{1}[0-9]{2}[)-. ]?[2-9]{1}[0-9]{2}[-. ]?[0-9]{4}" file.txt | awk -v ORS= '
NR>1 && !/,/ {print "\n"}
{print}
END {if (NR) print "\n"}' | sed -e :a -e '$!N;s/\n[0-9]{3}/,/;ta' -e 'P;D' | sed '$!N;s/\n\s*[0-9]//;P;D'
我认为这会改变我需要的字段:
SELECT * FROM `wp_posts` WHERE `post_title` LIKE '%FEB%2017%'
但我很难理解如何将这两者放在一起更新post_status字段,仅用于那些与SELECT查询匹配的记录。
我的预感是,如果我在该表中执行它,以下可能会这样做
SET post_status='wc-pending'
这看起来是否正确? 任何指导表示赞赏。我是SQL新手。谢谢!
答案 0 :(得分:1)
你的预感是正确的。
UPDATE wp_posts SET post_status='wc-pending' WHERE `post_title` LIKE '%FEB%2017%'
你甚至可以做更复杂的事情,比如添加一些内连接。顺便说一下,phpmyadmin中有一种方法可以模拟查询,看看结果如何。