我正在编写一个脚本来更改数据库中的帖子内容列,我只是注意到它有很多空行,这些似乎是被删除的帖子,现在没有内容或任何东西,我不喜欢它们。
我能不能DELETE from posts WHERE content = \'\';
不破坏任何东西?
这个数据库大约有4万行,我不能破坏它,它是备份的。
最合适的回答,由SO网友:Nicolai Grossherr 整理而成
我可以想象,那些内容为空的行通常不是修订,而是垃圾帖子。为了确保您不会删除要保留的内容,我建议您添加post_status
到您的SQL,使用trash
和auto-draft
作为价值-后者是修订版。顺便说一句,表列被调用post_content
不满足。因此,您的SQL将遵循以下几行:
DELETE FROM wp_posts
WHERE post_content = ""
AND post_status = "trash"
OR post_status = "auto-draft";
你当然可以使用
$wpdb
及其
delete
方法实现相同。