美文网首页
mysql 字段类型text和blob

mysql 字段类型text和blob

作者: 吕艳凯 | 来源:发表于2020-11-18 20:12 被阅读0次

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

    TINYBLOB

    TINYTEXT
    一个BLOBTEXT列,最大长度为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字符串"

    相关文章

      网友评论

          本文标题:mysql 字段类型text和blob

          本文链接:https://www.haomeiwen.com/subject/zyqhiktx.html