mysql如何修改字段总长度限制如何设置
在使用mysql的过程中,总会遇到或大或小的问题,今天这个问题是关于mysql的字段限制的。下面我们一起来看看如何解决。
操作方法
- 01
如下面图中所示,为了演示今天题目中可能出现的问题,我这里创建了一张测试表t1,里面有两个字段id 和 name,字段类型分别是int 和 varchar(8),varchar(8)表示字段name是一个字符串类型,长度是8.
- 02
这个时候往表t1里面插入一对比较小的数值和字符串的时候,不会报错,能插入成功,且表里可以看到插入的值,如下面图中所示:
- 03
但是向里面插入更长的字符串的值的时候,就开始报错了。如下面图中所示:插入一个长度远大于name字段长度的字符串。会报data too long的错误。这就说明受到了字符串长度的限制。从表中查询也无法查询到刚才插入的值。
- 04
要想解除字符串长度的限制,我们就需要将字符串的长度改为更大的值。如下面表中所示:不同类型的字符串可以用来表示不同长度的字符。
- 05
因此,我们使用修改命令将name字段修改为更大的值,修改表字段的命令基本格式是: alter table table_name modify column column_name type; 我们这里要将name字段修改为更大长度,比如20个字符。那么命令就是: alter table t1 modify column name varchar(20); 如下面图中所示,修改完成后,再往表中插入上一次操作的字符串,就不会报错了。
- 06
然后在表中查询对应的值,就能看到插入的新值。能够表示对应的长度。但是当我们再次尝试插入更大的值时,还是会报错。所以大家根据自己的需求,为字段设置合适的长度。避免字段受长度限制。
- 07
最后我们还要说一下,当字段长度比较长时,从长字段改为短字段的问题。比如刚才我们已经插入了一个大于8位的字符。然后我们尝试将这个字段的长度改回8位。如下面图中所示,可以看到会直接报错。提示你name字段第二行会被截断。表中的数值也未被修改。因此遇到这种情况时,一定要慎重操作。