首页 文章

重命名MySQL中的列时出错

提问于
浏览
428

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

  • 13

    有一个语法问题,因为alter命令的正确语法是 ALTER TABLE tablename CHANGE OldColumnName NewColunmName DATATYPE;

  • 7

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

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

    记住:

    • 用您的列数据类型替换INT(必需)

    • Tilde / Backtick(`)是可选的

  • 39

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

    Reference: MYSQL 5.1 ALTER TABLE Syntax

  • 2

    句法

    alter table table_name 将列 old column name 重命名为 new column name ;

    例:

    alter table library 将列 cost 重命名为 price ;

  • -5

    编辑

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

    ALTER TABLE xyz CHANGE manufacurerid manufacturerid INT
    

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

  • 43

    对于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`;
    
  • 1

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

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

    Renaming a column in MySQL :

    ALTER TABLE mytable CHANGE current_column_name new_column_name DATATYPE;
    

相关问题