Как удалить все записи из или удалить таблицу настраиваемых баз данных?

Кажется, я не могу найти простой надежный способ сделать это – возможно?

// 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, для правильного синтаксиса, используемого рядом с '* FROM wp_table_name' в строке 1

Я бы просто global $wpdb; $table = $wpdb->prefix . 'table_name'; $delete = $wpdb->query("TRUNCATE TABLE $table"); пример Q Studio на: global $wpdb; $table = $wpdb->prefix . 'table_name'; $delete = $wpdb->query("TRUNCATE TABLE $table"); global $wpdb; $table = $wpdb->prefix . 'table_name'; $delete = $wpdb->query("TRUNCATE TABLE $table");

Спасибо @s_ha_dum – Усечение делает работу красиво:

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

2 года поздно, но, возможно, это поможет кому-то в будущем 🙂

Правильный синтаксис для удаления строк из таблицы MySQL:

 DELETE FROM `wp_table_name` WHERE 1 = 1; 

Это уже поздно, и ответ был принят. Но никто не упомянул, что ваш оператор DELETE SQL неверен. Попробуй это:

 DELETE FROM `wp_table_name` 

Однако это может все еще не работать. Возможно, вам придется изменить настройки MariaDB / MySQL, которые защищают такие удаления, чтобы вы не ошибочно удалили полный набор данных. Чтобы это работало, вы должны

 DELETE FROM `wp_table_name` WHERE `some_column` = 'some_value' 

ура