web-dev-qa-db-fra.com

Supprime-t-il également les colonnes?

J'ai créé une table à l'aide de la fonction dbDelta, puis j'ai supprimé quelques colonnes et en ai ajouté quelques-unes. Les nouvelles colonnes ont été créées mais les anciennes colonnes n'ont pas été supprimées de la table.

Existe-t-il un moyen différent de supprimer des colonnes du tableau?

6
Prakash Raman

Autant que je sache, dbDelta() est principalement utilisé pour ajouter des tables à la base de données. Il peut également ajouter ou modifier des colonnes. Pour supprimer des colonnes, vous devez utiliser $wpdb->query():

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

Non, dbDelta peut ajouter ou modifier des colonnes, mais pas les supprimer.

Le code de la fonction dbDelta se trouve dans wp-admin/includes/upgrade.php. Vous pouvez examiner ce dont il est capable.

11
Otto