使用modify修改字段报错如下:

mysql> alter table student modify name sname char(16);
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 'sname char(16)' at line 1

经亲测modify与change的区别在于修改字段名称只能是用change,modify不能修改字段名称

在网上看到很多人说change不能修改字段的类型,实际上是都可以的,只需要注意使用change修改字段类型的时候,即使不修改字段名称但是也要把原名称写上,否则会报错

mysql> alter table student change name name varchar() not null;
Query OK, rows affected (0.03 sec)
Records: Duplicates: Warnings:
mysql> alter table student modify sname char();
Query OK, rows affected (0.16 sec)
Records: Duplicates: Warnings:

修改字段名称: (change)
注意修改字段名称只能是用change,modify不能修改字段名称。

mysql> alter table student change gender sex char() not null;
Query OK, rows affected (0.11 sec)
Records: Duplicates: Warnings:
05-08 15:08