mysql blob字段_mysql 字段类型text和blob

字段类型和最大字符长度:

TINYBLOB

TINYTEXT

一个BLOB或TEXT列,最大长度为255(2^8-1)个字符。

BLOB

TEXT

一个BLOB或TEXT列,最大长度为65535(2^16-1)个字符。

MEDIUMBLOB

MEDIUMTEXT

一个BLOB或TEXT列,最大长度为16777215(2^24-1)个字符。

LONGBLOB

LONGTEXT

一个BLOB或TEXT列,最大长度为4294967295(2^32-1)个字符。

以text字段为例:

mysql text类型没有默认值,如果该字段没有值,则该字段是空,即is null 。

使用select语句时应注意:(test是表名,description是字段名,类型是text) 。

select * from test where description = null; 等价为 select * from test where description = 'null'。

即此时description 值是null才可以取出。

如果description字段没有填入值,是系统设置的,则执行 select * from test where description is null,即可。

常见问题:

为text字段设置了字段not null 导致插入时候报错 : '字段名' doesn't have a default value

对于mysql当没有设置默认值时候,插入时候默认相当于插入 null,而如果设置了not null,就会导致报错,字段无法设置默认值

mysql的严格模式:

MySQL的严格模式,简单来说就是MySQL自身对数据进行严格的校验(格式、长度、类型等),比如一个整型字段我们写入一个字符串类型的数据,在非严格模式下MySQL不会报错,同样如果定义了char或varchar类型的字段,当写入或更新的数据超过了定义的长度也不会报错。

对于编程来说没有任何好处,少了一层数据正确性的保障。

总结:

对于mysql的text字段设置时需注意:

1.不设置 not null

2.不设置默认值

例如:

ALTER TABLE testTable MODIFY COLUMN course_ids text COMMENT "课程id字符串"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值