MySQL删除多列

时间:2013-04-04 23:30:07

标签: php mysql

我正在尝试删除多个列,但遇到了一些麻烦。当ALTER TABLEADD括号()中包含多个值时,下面的语法有效,但它不适用于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 个答案:

答案 0 :(得分:71)

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

答案 1 :(得分:2)

要删除多列,实际语法是

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

因此,对于每个列,您需要指定" drop column"在Mysql 5.0.45中。这与上述答案相同。在这里添加一点。更改表不会释放磁盘上的实际空间。因此在运行优化表后运行optimize table。