我需要在一个表中添加多个列,但在名为lastname的列之后定位这些列。
我试过了:
ALTER TABLE `users` ADD COLUMN
(
`count` smallint(6) NOT NULL,
`log` varchar(12) NOT NULL,
`status` int(10) unsigned NOT NULL
)
AFTER `lastname`;
我得到这个错误:
你的SQL语法有错误;查看手册
对应于您的MySQL服务器版本,以使用正确的语法
在第7行,在姓氏之后
如何在这样的查询中使用AFTER ?
我已经做了这段代码,以防任何人面临我的问题,快速添加大量的字段使用MySQl代码,希望它有帮助,你可以在任何在线php编译器上运行这段代码,以及如果你太忙!
$fields = array(
'col_one' ,
'col_two' ,
'col_three'
);
$startF = 'after_col';
$table = 'table_name';
$output = 'ALTER TABLE ' .$table.'<br>';
for($i=0 ; $i<count($fields) ; $i++){
if($i==0){
$output.= 'ADD COLUMN '.$fields[$i].' VARCHAR(15) AFTER '.$startF.',' . '<br>';
}else{
$output.= 'ADD COLUMN '.$fields[$i].' VARCHAR(15) AFTER '.$fields[$i-1].',' . '<br>';
}
}
//不包含数组的额外字段
$output.= 'ADD COLUMN col_four VARCHAR(255) AFTER any_col_u_want, '. '<br>';
$output.= 'ADD COLUMN col_five VARCHAR(255) AFTER col_four, '. '<br>';
$output.= 'ADD COLUMN col_six VARCHAR(255) AFTER col_five'. '<br>';
echo $output;