49

我正在尝试删除多个列,但遇到了一些麻烦。当我这样做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
        );
    ";
4

2 回答 2

94
ALTER TABLE `tablename`
DROP `column1`,
DROP `column2`,
DROP `column3`;
于 2013-04-04T23:33:25.617 回答
2

删除多列的实际语法是

alter table tablename drop column col1, drop column col2 , drop column col3 ....

因此,对于每一列,您需要在 Mysql 5.0.45 中指定“删除列”。这与上面的答案相同。这里只加一点。Alter table 不会释放磁盘上的实际空间。所以在运行优化表后运行优化表。

于 2014-12-11T18:25:14.850 回答