Poiché non è pratico di mettere il codice in un commento, in risposta al tuo commento in risposta di Eric che non funziona per voi ...
Ho appena eseguito il seguente su una scatola di SQL 2005 (mi dispiace , no 2000 a portata di mano) con le impostazioni predefinite e ha funzionato senza errori:
CREATE TABLE dbo.Test_Identity_Insert
(
id INT IDENTITY NOT NULL,
my_string VARCHAR(20) NOT NULL,
CONSTRAINT PK_Test_Identity_Insert PRIMARY KEY CLUSTERED (id)
)
GO
INSERT INTO dbo.Test_Identity_Insert VALUES ('test')
GO
SELECT * FROM dbo.Test_Identity_Insert
GO
Stai forse l'invio del valore di ID più volte nella vostra lista di valori? Non penso che tu possa far ignorare la colonna se in effetti passi un valore per essa. Ad esempio, se la tua tabella ha 6 colonne e vuoi ignorare la colonna IDENTITY puoi solo passare 5 valori.
fonte
2009-06-01 15:42:00
perché non si desidera utilizzare un elenco di nomi di colonna? –
@ Mitch, è un po 'complesso, ma ho un programma che genera l'SQL al volo e nel mio progetto originale non avevo a che fare con colonne di identità, quindi ho escluso i nomi delle colonne. Ho bisogno di fare un rapido aggiornamento e posso evitare di usare i nomi delle colonne per renderlo molto più semplice. –
@ nemo - Essendo stato nella situazione "patch veloce" prima, ti darò un passaggio su questo per ora. Ma per favore, per il tuo bene lungo la strada, piano per specificare i nomi delle colonne nel prossimo aggiornamento completo .... – RolandTumble