0

MySQL: Удаление нескольких столбцов

9

Я пытаюсь удалить несколько столбцов из таблицы, но у меня возникают трудности. Синтаксис ниже работает, когда я использую ALTER TABLE и ADD с несколькими значениями в круглых скобках (), но не работает с DROP COLUMN. Неужели я использую неправильный синтаксис?


$table3 = "
    ALTER TABLE $table3_name
    DROP COLUMN (
        user_firstname,
        user_lastname,
        user_address,
        user_address2,
        user_city,
        user_state,
        user_zip,
        user_phone
    );
";

2 ответ(ов)

1

Для удаления нескольких столбцов из таблицы в MySQL вы можете использовать следующий синтаксис команды ALTER TABLE. Однако, обратите внимание, что вы не можете использовать DROP для каждого столбца отдельно. Вместо этого нужно указать все столбцы, которые вы хотите удалить, через запятую в одном DROP, как показано в примере ниже:

ALTER TABLE `tablename`
DROP `column1`, 
DROP `column2`, 
DROP `column3`;

Правильный синтаксис будет выглядеть следующим образом:

ALTER TABLE `tablename`
DROP `column1`, 
`column2`, 
`column3`;

Таким образом, вы сможете удалить указанные столбцы из таблицы tablename. Не забудьте делать резервные копии данных перед выполнением таких операций, так как удалённые данные не подлежат восстановлению!

0

Чтобы удалить несколько столбцов, актуальный синтаксис выглядит так:

ALTER TABLE имя_таблицы DROP COLUMN колонка1, DROP COLUMN колонка2, DROP COLUMN колонка3, ...;

Таким образом, для каждого столбца необходимо указать "DROP COLUMN" в MySQL версии 5.0.45. Это аналогично приведённому выше ответу. Также стоит отметить, что команда ALTER TABLE не освобождает фактическое пространство на диске. Поэтому после выполнения команды ALTER TABLE следует запустить команду OPTIMIZE TABLE.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь