重命名MySQL中的列时出错
如何重命名表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)
独行侠非常接近…实际上,您还需要指定重命名列的数据types。 例如:
ALTER TABLE `xyz` CHANGE `manufacurerid` `manufacturerid` INT;
记住:
- 将INTreplace为列数据types(需要)
- Tilde / Backtick(`)是可选的
标准的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语法
对于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
有一个语法问题,因为改变命令的正确语法是ALTER TABLE tablename CHANGE OldColumnName NewColunmName DATATYPE;
使用MySQL 5.x,您可以使用:
ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name DATATYPE NULL DEFAULT NULL;
ALTER TABLE mytable CHANGE current_column_name new_column_name DATATYPE;
句法
alter table table_name将列的旧名称更名为新的列名 ;
例:
改变表格库的重命名成本 价格 ;