目前,我有以下MySQL表: Employees (empID, empName, department);
我想将表更改为以下内容: Employees (empID, department, empName);
如何使用ALTER
语句完成此操作?
注意:我只想更改列位置。
如果empName是VARCHAR(50)列:
ALTER TABLE Employees MODIFY COLUMN empName VARCHAR(50) AFTER department;
编辑
根据评论,您还可以执行以下操作:
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
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句