web-dev-qa-db-ja.com

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)
430
Bharanikumar

ローンレンジャーは非常に近い...実際には、名前を変更した列のデータ型も指定する必要があります。例えば:

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

覚えておいてください:

  • 列データ型がなんであれ、INTを置き換えてください(必須)
  • チルド/バックティック( `)はオプションです
744
Matt Diamond

標準の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の構文

43
dongpf

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`;
40
mahbub_siddique

編集

あなたはフィールドを使って名前を変更することができます:

ALTER TABLE xyz CHANGE manufacurerid manufacturerid INT

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

13
Lone Ranger

コマンドを変更するための正しい構文はALTER TABLE tablename CHANGE OldColumnName NewColunmName DATATYPE;であるため、構文上の問題があります。

7
Darshan

MySQL 5.xでは、次のものを使用できます。

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name DATATYPE NULL DEFAULT NULL;
2
MIKE KIM

MySQLの列名を変更する:

ALTER TABLE mytable CHANGE current_column_name new_column_name DATATYPE;
1
Hasib Kamal

ALTER TABLE CHANGE;

例:

ALTER TABLE global_user CHANGE deviceToken deviceId VARCHAR(255) ;
0
vaquar khan