1. ホーム
  2. マイスル

[解決済み】MySQLのテーブルでカラムを移動する方法は?

2022-04-05 16:10:20

質問

現在、以下のMySQLテーブルを持っています。 Employees (empID, empName, department);

このテーブルを以下のように変更したいのですが。 Employees (empID, department, empName);

を使用して、どのようにこれを行うことができますか? ALTER ステートメントを使用できますか?

注:列の位置だけを変更したい。

解決方法は?

empNameがVARCHAR(50)列である場合。

ALTER TABLE Employees MODIFY COLUMN empName VARCHAR(50) AFTER department;

EDIT

コメントあたりは、こんなこともできます。

ALTER TABLE Employees CHANGE COLUMN empName empName VARCHAR(50) AFTER department;

の繰り返しに注意してください。 empName は意図的なものです。MySQL に同じカラム名を維持することを伝える必要があります。

どちらの構文バージョンもMySQLに特化したものであることを認識しておく必要があります。例えば、PostgreSQLや他の多くのDBMSでは動作しません。

別の編集:@Luis Rossi がコメントで指摘したように、変更したカラムの定義を AFTER モディファイアを使用します。上記の例では、単に VARCHAR(50) のように、他の特性が必要な場合は、その特性も考慮する必要があります。 NOT NULL またはデフォルト値)を含める必要があります。相談する のドキュメントを参照してください。 ALTER TABLE をご覧ください。