mysql - 仅当我重新声明数据类型时,修改才有效吗?

标签 mysql sql alter

为了更改列的顺序,可以执行以下操作:

ALTER TABLE contacts  
MODIFY COLUMN id VARCHAR(20) FIRST;    

以下内容:

ALTER TABLE my_contacts
MODIFY COLUMN id FIRST;  

给我错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FIRST' at line 2

我想知道,是否可以在不重新声明其数据类型的情况下更改列的顺序?
是否所有对列的修改都必须重新声明数据类型?

最佳答案

你的直觉是正确的。 ALTER 语句必须在列的完整类型中明确显示。

来自文档:http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

 MODIFY [COLUMN] col_name column_definition
        [FIRST | AFTER col_name]

column_definition 是强制性的。

关于mysql - 仅当我重新声明数据类型时,修改才有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15733651/

相关文章:

php - 使用 php 提取基本 mysql 数据

php - 日期时间时区mysql和php计算

sql - 定期将整个 SQL 数据库表复制到另一个 [历史] 表的最有效方法

sql - 如何在同一张表中以不同条件检索同一列两次?

mysql - sql语法错误如何使用alter[MYSQL]

如果子查询返回null,Mysql返回null

mysql - 更新mysql中所有行的列

sql - 使用 Postgres : Create a Column of Binary Data Conditional on Data in Another Table

android - SQlite表升级困难

php - Active Record 未显示正确的查询