Löscht dbDelta auch Spalten?


7

Ich habe eine Tabelle mit der Funktion dbDelta erstellt, dann 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?

Antworten:


9

Soweit ich weiß, dbDelta()wird es 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 Folgendes verwenden $wpdb->query():

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

Nicht richtig. dbDelta kann und fügt Spalten hinzu.
random_user_name

Entschuldigung, @cale_b, ich habe meine Antwort aktualisiert
Shea

11

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

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.