如何删除或清空自定义数据库表中的所有记录?

时间:2013-12-04 作者:Q Studio

我似乎找不到一个简单可靠的方法来做到这一点-也许?:

// delete row ##
global $wpdb;
$delete = $wpdb->query( 
    $wpdb->prepare( 
         "DELETE * FROM `wp_table_name`"
    )
);

// return ##
$return = __(\'Table Emptied.\');
if ( $wpdb->last_error ) {
    $return = $wpdb->last_error;
}
但这给了我一个经典:

您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第1行“*FROM wp\\u table\\u name”附近要使用的正确语法

4 个回复
最合适的回答,由SO网友:Q Studio 整理而成

谢谢@s\\u ha\\u dum-Truncate做得很好:

// delete row ##
global $wpdb;
$delete = $wpdb->query("TRUNCATE TABLE `wp_table_name`");

SO网友:Bobz

我只想将Q Studio示例修改为:

global $wpdb;
$table  = $wpdb->prefix . \'table_name\';
$delete = $wpdb->query("TRUNCATE TABLE $table");

SO网友:dale3h

虽然晚了2年,但这可能会对将来的人有所帮助:)

从MySQL表中删除行的正确语法是:

DELETE FROM `wp_table_name`
WHERE 1 = 1;

SO网友:Greeso

这太晚了,答案被接受了。但没人提到你的DELETE SQL语句不正确。尝试以下操作:

DELETE FROM `wp_table_name`
然而,这可能仍然不起作用。您可能需要更改MariaDB/MySQL设置,以防止错误地删除完整的数据集,该设置可以保护此类删除。要让它发挥作用,你必须

DELETE FROM `wp_table_name` WHERE `some_column` = \'some_value\'
干杯

结束

相关推荐

使用主题文件夹代替plugins_url

我想这很简单,但我无法解决。我正在尝试通过我的主题向WordPress仪表板添加菜单页。我有以下。。。add_menu_page( \'Test\', \'Test\', \'manage_options\', \'myplugin/myplugin-admin.php\', \'\', plugins_url( \'myplugin/image/icon.png\' ), 6 &