Удаляет ли dbDelta столбцы?

Я создал таблицу, используя функцию dbDelta, а затем удалил несколько столбцов и добавил несколько. Новые столбцы создавались, но старые столбцы не удалялись из таблицы.

Есть ли другой способ удалить столбцы из таблицы?

6 голосов | спросил Prakash Raman 22 SatEurope/Moscow2012-12-22T02:16:42+04:00Europe/Moscow12bEurope/MoscowSat, 22 Dec 2012 02:16:42 +0400 2012, 02:16:42

2 ответа


8

Насколько я знаю, dbDelta() в основном используется для добавления таблиц в базу данных. Он также может добавлять или изменять столбцы. Чтобы удалить столбцы, вы должны использовать $wpdb->query():

global $wpdb;
$table = $wpdb->prefix . 'table_name';
$wpdb->query( "ALTER TABLE $table DROP COLUMN column_name" );
ответил shea 22 SatEurope/Moscow2012-12-22T02:42:52+04:00Europe/Moscow12bEurope/MoscowSat, 22 Dec 2012 02:42:52 +0400 2012, 02:42:52
11

Нет, dbDelta может добавлять или изменять столбцы, но не добавлять их.

Код для функции dbDelta находится в файле wp-admin /includes /upgrade.php. Вы можете проверить, что он там способен.

ответил Otto 22 SatEurope/Moscow2012-12-22T02:56:52+04:00Europe/Moscow12bEurope/MoscowSat, 22 Dec 2012 02:56:52 +0400 2012, 02:56:52

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132