我试过dbDelta和$wpdb->query,它们都不起作用。有人有什么想法吗?
如何使用“TRUNCATE TABLE”MySQL语句?
3 个回复
最合适的回答,由SO网友:menardmam 整理而成
正如今天所尝试的,truncate比DELETE好得多,因为DELETE破坏了站点,而trucate只是清空了表,下面是工作代码:
global $wpdb;
$wpdb->query(\'TRUNCATE TABLE wp_posts\');
SO网友:Aaron Wagner
根据this forum entry, 截断不起作用。我猜,因为这是一个破坏性很强的查询,所以它会被类过滤掉。还有this Trac Post, 如果我读对了,就不允许DDL语句。
SO网友:Zaheer Abbas
我知道上面有类似的答案,但在上面的答案中,如果有人错误地使用了该代码,那么所使用的wp\\u post表将丢失他的所有帖子。
所以共享一个正确的截断方法。
global $wpdb;
$table_name = $wpdb->base_prefix.\'name_of_table_without_prefix\';
$wpdb->query("TRUNCATE TABLE $table_name");
结束