关于mysql的change和modify

来源:互联网 发布:matlab删除矩阵某一行 编辑:程序博客网 时间:2024/04/29 19:12

前端时间要写个游戏里的邮件系统,定义了一个如下的表结构:

CREATE TABLE `sysmail` (  `mailid` int(20) NOT NULL AUTO_INCREMENT,  `sendtime` int(11) NOT NULL DEFAULT '0',  `mailtitle` varchar(512) COLLATE utf8_bin NOT NULL DEFAULT '',  `mailcontext` varchar(2048) COLLATE utf8_bin NOT NULL DEFAULT '',  `attachment` blob,  `obj` blob,  PRIMARY KEY (`mailid`)) ENGINE=InnoDB AUTO_INCREMENT=2147483647 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
后来觉得mailid是自增的在合服的时候不好处理,我就把mailid的自增字段去掉,

用的是很传统的

 alter table sysmail modify column mailid int(20) not null;
但是发现,在没有重启mysql服务器的前提下,插入不同的mailid的记录会提示1062的错误,后来又改成

 alter table sysmail change mailid mailid bigint(20)  not null;
就成功了,而不需要重启mysql服务器就生效。

 看来我还是没有搞懂modify和change的区别

0 0
原创粉丝点击