| 
                                    
                                        |  | Error Message Server: Msg 213, Level 16, State 1, Line 1
Insert Error: Column name or number of supplied values 
does not match table definition. Causes: This error occurs when doing an INSERT where the columns list is not specified and the values being inserted, either through the VALUES clause or through a SELECT subquery, are either more than or less than the columns in the table.  Here are examples on when the error can occur: |  -- Sample #1: Using INSERT INTO ... VALUES
CREATE TABLE [dbo].[Customers] ( [ID] INT, [Name] VARCHAR(100))
INSERT INTO [dbo].[Customers]
VALUES (1, 'John', 'Doe')
-- Sample #2: Using INSERT INTO ... SELECT FROM
CREATE TABLE [dbo].[Client] ( [ID] INT, [Name] VARCHAR(100))
INSERT INTO [dbo].[Client]
SELECT [ID], [Name], [Address]
FROM [dbo].[NewClient]
 Solution / Work Around: To avoid this problem, make sure that the values specified in the VALUES clause 
		or in the SELECT subquery match the number of columns in the INSERT 
		clause.  In addition to this, you must specify the columns in 
		the INSERT INTO clause.  Although the column list in the INSERT INTO 
		statement is optional, it is recommended that it is always specified so that 
		even if there are any modifications made on the table, either new columns are 
		added or inserted in the middle of the table or columns are deleted, the INSERT 
		statement will not generate this error.  (Of course, a different error 
		message will be generated if a column is deleted from the table that is being 
		referenced by the INSERT statement). Given the samples above, here's how to avoid the error: -- Sample #1: Using INSERT INTO ... VALUES
CREATE TABLE [dbo].[Customers] ( [ID] INT, [Name] VARCHAR(100))
INSERT INTO [dbo].[Customers] ( [ID], [Name] )
VALUES (1, 'John Doe')
-- Sample #2: Using INSERT INTO ... SELECT FROM
CREATE TABLE [dbo].[Client] ( [ID] INT, [Name] VARCHAR(100))
INSERT INTO [dbo].[Client] ( [ID], [Name] )
SELECT [ID], [Name]
FROM [dbo].[NewClient]
 |