如何重命名表xyz中的列?列如下:
Manufacurerid, name, status, AI, PK, int
我想重命名为manufacturerid
我尝试使用PHPMyAdmin面板,但我得到这个错误:
MySQL said: Documentation
#1025 - Error on rename of '.\shopping\#sql-c98_26' to '.\shopping\tblmanufacturer' (errno: 150)
如何重命名表xyz中的列?列如下:
Manufacurerid, name, status, AI, PK, int
我想重命名为manufacturerid
我尝试使用PHPMyAdmin面板,但我得到这个错误:
MySQL said: Documentation
#1025 - Error on rename of '.\shopping\#sql-c98_26' to '.\shopping\tblmanufacturer' (errno: 150)
当前回答
MYSQL:
ALTER TABLE `table_name` CHANGE `old_name` `new_name` VARCHAR(255) NOT NULL;
ORACLE:
ALTER TABLE `table_name` RENAME COLUMN `old_name` TO `new_name`;
其他回答
独行侠很接近了……实际上,还需要指定重命名列的数据类型。例如:
ALTER TABLE `xyz` CHANGE `manufacurerid` `manufacturerid` INT;
记住:
用列数据类型替换INT (REQUIRED) 波浪号/反勾号(')是可选的
EDIT
你可以使用以下方法重命名字段:
ALTER TABLE xyz CHANGE manufacurerid manufacturerid INT
http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
修改表;
例子:
ALTER TABLE global_user CHANGE deviceToken deviceId VARCHAR(255) ;
标准的MySQL重命名语句是:
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
CHANGE [COLUMN] old_col_name new_col_name column_definition
[FIRST|AFTER col_name]
对于这个例子:
ALTER TABLE xyz CHANGE manufacurerid manufacturerid datatype(length)
参考:MYSQL 5.1 ALTER TABLE语法
语法
重新命名旧列为新列名
例子:
将列cost重命名为price