mysql中alter语句中change和modify的区别

mysql中alter语句中change和modify的区别为 当需要修改字段名称时使用change;当需要修改字段类型时使用modify change和modify的具体使用场景如下 CHANGE子句对列进行重命名。重命名时,需给定旧的和新的列名称和列当前的类型。要把一个INTEGER列的名称从column_a变更到column_b:ALTER TABLE t1 CHANGE column...
mysql中alter语句中change和modify的区别
mysql中alter语句中change和modify的区别为
当需要修改字段名称时使用change;当需要修改字段类型时使用modify

change和modify的具体使用场景如下
CHANGE子句对列进行重命名。重命名时,需给定旧的和新的列名称和列当前的类型。要把一个INTEGER列的名称从column_a变更到column_b:
ALTER TABLE t1 CHANGE column_a column_b INTEGER;如果想要更改列的类型而不是名称, CHANGE语法仍然要求旧的和新的列名称,即使旧的和新的列名称是一样的。例如:
ALTER TABLE t1 CHANGE column_b column_b BIGINT NOT NULL;使用MODIFY来改变列的类型,此时不需要重命名:
ALTER TABLE t1 MODIFY column_b BIGINT NOT NULL2017-01-07
参考mysql5.5手册,可以使用CHANGE old_col_name column_definition子句对列进行重命名。重命名时,需给定旧的和新的列名称和列当前的类型。
事例:

例如:要把一个INTEGER列的名称从a变更到b,您需要如下操作:

mysql> ALTER TABLE t1 CHANGE a b INTEGER;

如果您想要更改列的类型而不是名称, CHANGE语法仍然要求旧的和新的列名称,即使旧的和新的列名称是一样的。例如:

mysql> ALTER TABLE t1 CHANGE b b BIGINT NOT NULL;

您也可以使用MODIFY来改变列的类型,此时不需要重命名:

mysql> ALTER TABLE t1 MODIFY b BIGINT NOT NULL;

关于何时使用change,何时使用modify,其实都是无可厚非的,最主要是个人的习惯。

当需要修改字段名称时使用change;当需要修改字段类型时使用modify,毕竟modify还是比change少写个字段名称的,因次还是比较节约系统资源2017-03-22
change:不管要修改的是类型还是字段名都必须把字段名列出来,比如:ALTER TABLE t1 CHANGE b b BIGINT NOT NULL;

用modify的话直接是 alter table t1 modify b bigint not null;2017-04-27
mengvlog 阅读 56 次 更新于 2025-10-29 05:44:40 我来答关注问题0
檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部