重命名MySQL中的列时出错

时间:2010-10-23 03:35:23

标签: mysql database alter-table mysql-error-1025

如何重命名表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)

8 个答案:

答案 0 :(得分:745)

Lone Ranger非常接近......实际上,您还需要指定重命名列的数据类型。例如:

ALTER TABLE `xyz` CHANGE `manufacurerid` `manufacturerid` INT;

记住:

  • 将INT替换为您的列数据类型(必需)
  • Tilde / Backtick(`)是可选的

答案 1 :(得分:43)

标准的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 Syntax

答案 2 :(得分:40)

FOR MYSQL:

ALTER TABLE `table_name` CHANGE `old_name` `new_name` VARCHAR(255) NOT NULL;

FOR ORACLE:

ALTER TABLE `table_name` RENAME COLUMN `old_name` TO `new_name`;

答案 3 :(得分:13)

修改

您可以使用以下命令重命名字段:

ALTER TABLE xyz CHANGE manufacurerid manufacturerid INT

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

答案 4 :(得分:7)

存在语法问题,因为alter command的正确语法是ALTER TABLE tablename CHANGE OldColumnName NewColunmName DATATYPE;

答案 5 :(得分:2)

使用MySQL 5.x,您可以使用:

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name DATATYPE NULL DEFAULT NULL;

答案 6 :(得分:0)

  

更改表;

示例:

ALTER TABLE global_user CHANGE deviceToken deviceId VARCHAR(255) ;

答案 7 :(得分:-5)

SYNTAX

alter table table_name 将列旧列名称重命名为新列名称;

示例:

将表重命名为费用价格;