FIX: Sp_columns Returns More Than One Row for a Column

Last reviewed: June 27, 1997
Article ID: Q158464
The information in this article applies to:
  • Microsoft SQL Server, version 6.5
BUG #: 15895 (NT, 6.5)

SYMPTOMS

If a table contains a column bound to a default with a larger comment, the system stored procedure sp_columns may return more than one row for each column of a user table. This problem causes error 3191, "Can't define field more than once," in the Microsoft Jet engine if you try to attach such a table.

WORKAROUND

To work around this problem, do one of the following:

  • Drop and re-create the default without any comments.

    -or-

  • Use default constraints rather than defaults.

STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server version 6.5. This problem has been corrected in U.S. Service Pack 3 for Microsoft SQL Server version 6.5. For more information, contact your primary support provider.

MORE INFORMATION

The following script illustrates the problem:

   create table t1(c1 int not null)
   go
   /****** Object:  Default dbo.dev_zero    Script Date: 10.09.96 18:39:01
   ******/
   /****** Object:  Default dbo.dev_zero    Script Date: 10.09.96 18:37:49
   ******/
   /****** Object:  Default dbo.dev_zero    Script Date: 10.09.96 18:37:08
   ******/
   create default dev_zero as 0
   go
   exec sp_bindefault dev_zero, 't1.c1'
   go
   sp_columns t1
   go


Additional query words: SQLColumns default
Keywords : kbbug6.50 kbusage SSrvStProc
Version : 6.5
Platform : WINDOWS
Issue type : kbbug
Resolution Type : kbfix


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: June 27, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.