Quote:
|
Column name or number of supplied values does not match table definition.
|
as far as I understand it, it means
number of supplied values does not match table definition.
if you
read the script you are trying to execute: you get, for instance:
INSERT INTO [PS_GameDefs].[dbo].[ProductList] values (
'foo bar', 'UNIQUE_TEXT_IDENT', 12345,
100163,1,
100083,1,
... 20 couples useless to list ...
0,0,
0,0)
if you display the table structure (quite hard, it requires 1 right-click!), you can get, as in Ex example:
CREATE TABLE [dbo].[ProductList](
[RowID] [int] IDENTITY(1,1) NOT NULL,
[ProductName] [varchar](50) NOT NULL,
[ProductCode] [varchar](20) NOT NULL,
[BuyCost] [int] NOT NULL,
[ItemID1] [int] NOT NULL, [ItemCount1] [tinyint] NOT NULL,
[ItemID2] [int] NULL,[ItemCount2] [tinyint] NULL,
item 3 up to 23
[ItemID24] [int] NULL,[ItemCount24] [tinyint] NULL)
comparing these two blocks leads to the difficult question: which required values is missing or which supplied values is in excess ?
it should be possible to assume that the (always useless, never used) RowID is the column for which the script does not provide value.
one possible fix is so to recreate the table, as suggered, but
without that useless, never used column.