it-swarm.com.de

Löscht dbDelta auch Spalten?

Ich habe mit der Funktion dbDelta eine Tabelle erstellt, einige Spalten entfernt und einige hinzugefügt. Die neuen Spalten wurden erstellt, aber die alten Spalten wurden nicht aus der Tabelle gelöscht.

Gibt es eine andere Möglichkeit, Spalten aus der Tabelle zu löschen?

6
Prakash Raman

Soweit ich weiß, wird dbDelta() hauptsächlich zum Hinzufügen von Tabellen zur Datenbank verwendet. Es können auch Spalten hinzugefügt oder geändert werden. Um Spalten zu löschen, sollten Sie $wpdb->query() verwenden:

global $wpdb;
$table = $wpdb->prefix . 'table_name';
$wpdb->query( "ALTER TABLE $table DROP COLUMN column_name" );
8
shea

Nein, dbDelta kann Spalten hinzufügen oder ändern, aber nicht löschen.

Der Code für die Funktion dbDelta befindet sich in wp-admin/includes/upgrade.php. Sie können dort prüfen, wozu es in der Lage ist.

11
Otto