我用md5加密了一串字符,存入mysql的varchar字段中,用navicat.exe打开看时发现并没有存进去,请问如果存进去?这串16个字符的asic码是:
-59
28
-28
16
-63
36
-95
14
16
-75
-28
-71
127
-62
-81
57

解决方案 »

  1.   

    varchar可以动态增大与设定多少个字节的吧
      

  2.   

    把长度设置的大点 就可以了 实在不行 就设置为text 模式
    varchar是字符模式 但是你可以用varchar(100) 来限定长度
     
      

  3.   

    MySQL中varchar可以存很多东西。http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#char
    11.4.1. CHAR和VARCHAR类型
    CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。你的ASCII码怎么还有负值?!这是ASCII码吗???
    如果ASCII码为 0x41424344 也就是 ABCD
     
    mysql> create table table1 (col1 varchar(20));
    Query OK, 0 rows affected (0.08 sec)mysql> insert into table1 values(0x41424344);
    Query OK, 1 row affected (0.06 sec)mysql> select * from table1;
    +------+
    | col1 |
    +------+
    | ABCD |
    +------+
    1 row in set (0.00 sec)mysql>
      

  4.   

    varchar(size), 在数据库中是标准的存放字符类型的字段类型,与char(size)和varchar2(size)要区分开
    char( size)中存放数据长度固定,一般size的值为4000,在数据库中一般占用一定的空间但效率较高。如果长度  大  于4000,可以用大字段类型来存储数据,
    varchar2(size)是Oracle中独有的字段类型,即只能应用在Oracle数据库中,size值可变。