varchar(100)表示最多输入100个字节的字符
只能输入最多50个汉字

解决方案 »

  1.   

    当我插入的字符串超过100时 他不能自动扩展吗?
    不能。-------------------------------------------------
    char 和 varchar
    固定长度 (char) 或可变长度 (varchar) 字符数据类型。char[(n)]长度为 n 个字节的固定长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为 n 个字节。char 在 SQL-92 中的同义词为 character。varchar[(n)]长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。
      

  2.   

    varchar(100) 不是可变长度吗?长度0--100之间char(100)
    长度100
      

  3.   

    varchar(100):可变长度是指最多这个列中最多能够承载100个字节的字符长度,如果该列的信息没有100个字节则按实际长度来存储。
    不使用unicode编码的英文每个字符1个字节,而中文一个字符占用两个字节。当然中文最多只能存储50个字符。
      

  4.   

    这个可以用两个函数来看一下varchar和char的区别,都只能在最大长度(用户定义的)间存数据:
    datalength()
    len()
      

  5.   

    简单的说Varchar所谓的可变长度是指你定义了一个字段长度为10,你保存的值的长度为5,那你从数据库中取出那个字段的长度还是为5。如是Char的话,就不一样了,它会补空位,你保存的值的长度为5,那你从数据库中取出那个字段的长度为10,补了5个空位。你指定了范围就相当于界限,最大位是不可变的
      

  6.   

    我明白了,那要想保存一边文章,是不是只能用text 类型