Ich kann anscheinend keinen einfachen, zuverlässigen Weg finden, um dies zu tun - vielleicht ?:
// 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;
}
Aber das gibt mir den Klassiker:
Sie haben einen Fehler in Ihrer SQL-Syntax. Überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, auf die richtige Syntax für die Verwendung in der Nähe von '* FROM wp_table_name' in Zeile 1
Danke @s_ha_dum - Truncate macht den Job gut:
// delete row ##
global $wpdb;
$delete = $wpdb->query("TRUNCATE TABLE `wp_table_name`");
Ich würde nur das Q Studio-Beispiel folgendermaßen ändern: global $wpdb; $table = $wpdb->prefix . 'table_name'; $delete = $wpdb->query("TRUNCATE TABLE $table");
2 Jahre zu spät, aber vielleicht hilft das jemandem in der Zukunft :)
Die korrekte Syntax zum Löschen von Zeilen aus einer MySQL-Tabelle lautet:
DELETE FROM `wp_table_name`
WHERE 1 = 1;
Dies ist zu spät und die Antwort wurde akzeptiert. Aber niemand hat erwähnt, dass Ihre DELETE
SQL-Anweisung falsch ist. Versuche dies:
DELETE FROM `wp_table_name`
Dies funktioniert jedoch möglicherweise immer noch nicht. Möglicherweise müssen Sie Ihre MariaDB/MySQL-Einstellungen ändern, um solche Löschvorgänge zu verhindern, dass Sie versehentlich einen vollständigen Datensatz löschen. Damit es funktioniert, muss man
DELETE FROM `wp_table_name` WHERE `some_column` = 'some_value'
Prost