首先,我想吐槽下W3Cschool 的alter说明,反正我是没看懂,导致我浪费太多时间去理解alter这个鬼东西,下面是我结合网上实例和自己的理解写出的关于Mysql alter的讲解。
不喜勿喷,反正应该不会有啥错的。
alter
alter table [1] modify column [2] [3];
【1】:表名
【2】:列名
【3】:更改到什么类型
易错点:
前两个参数不用做过多说明,只要用脑子大概不会错,第三个参数是很奇葩,我用下我的代码来说明下;
- alter table controlS modify column Istate tinyint(2) unsigned default 0;
2. alter table controlS modify column Istate default 0;
3. alter table controlS modify column Istate unsigned default 0;
4. alter table controlS modify column Istate tinyint(2) default 0;
1 4可以顺利执行,2 3 都会返回错误;
所有可以尝试自己进行逻辑推导 ,下面是本人的愚见:
alter table [1] modify column [2] [3];
此语句用于更改已有的列类型,使用频率较高,所以放在了第一个!