Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL删除多个列_Php_Mysql - Fatal编程技术网

Php MySQL删除多个列

Php MySQL删除多个列,php,mysql,Php,Mysql,我试图删除多个列,但遇到一些问题。当我使用括号中的多个值执行更改表和添加()操作时,下面的语法有效,但它不适用于删除列。我使用了错误的语法吗 $table3 = " ALTER TABLE $table3_name DROP COLUMN ( user_firstname, user_lastname, user_address, user_address2,

我试图删除多个列,但遇到一些问题。当我使用括号中的多个值执行
更改表
添加
()操作时,下面的语法有效,但它不适用于
删除列
。我使用了错误的语法吗

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

要删除多个列,实际语法是

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

因此,对于每一列,您都需要在Mysql 5.0.45中指定“drop column”。这与上述答案相同。这里只加一点。Alter table无法释放磁盘上的实际空间。因此,在运行优化表之后再运行优化表。

文档中没有这样的语法,您必须使用类似于
ALTER table t2 DROP COLUMN c,DROP COLUMN d答案似乎就在这里。我下一步尝试的可能是重复的,而且成功了。我只是觉得奇怪,当其他语法用于其他查询时,它是如何不起作用的。谢谢。@CoryNickerson Droping不同于其他函数,例如select&replace。没问题,但别忘了备份:)在这个答案中可以找到一个更简洁的方法:@10basetom在你链接的答案中MySQL的语法与此相同。更简洁的形式是非MySQL。单词“column”是可选的。
alter table tablename drop column col1, drop column col2 , drop column col3 ....