sql server 允许 varchar(3000) ?
越来越不守规矩了

解决方案 »

  1.   

    不好意思,不但sql server允许,ORACLE和DB2等大型的DBMS都允许啊。我不知道是不是php的版本问题,不知道新版本有没有支持这个特性。
      

  2.   

    是吗?头回听说。
    那要text、clob干嘛?
      

  3.   

    varchar 和text的存储形式不同
    相比起来存储相同的数据使用varchar比使用text所生成的数据文件要大
      

  4.   

    在sql server中,varchar最大可以到8000,大于8000的时候就会用text。我觉得这完全有必要,因为有些时候有些数据,变化很大,可能很大,又可能很小,255肯定不够的了。而用text的话,又不能精确匹配查询。
      

  5.   

    对不起,我只知道ANIS SQL标准中char和varchar类型宽度不能大于255。sql server也说他是遵守的。
    作为第三方软件,你说应该遵循什么标准呢?
      

  6.   

    上php.net上的bug report仔细看过了。原来这是由于微软不更新驱动而造成的即使在php5.0中也存在着这个问题,没办法。
      

  7.   

    我只知道oracle的varchar2才支持哦
      

  8.   

    此非彼也
    ---------------
    varchar[(n)]长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。