Hvordan kontrolleres det, om en kolonne findes i en SQL Server-tabelle?
Jeg skal tilføje en bestemt kolonne, hvis den ikke findes. Jeg har noget som det følgende, men det returnerer altid false:
IF EXISTS(SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'myTableName'
AND COLUMN_NAME = 'myColumnName')
Hvordan kan jeg kontrollere, om en kolonne findes i en tabel i SQL Server-databasen?
1783
3
Tilpas nedenstående til dine specifikke behov:
Rediger for at håndtere redigering til spørgsmål: Det burde virke - tag et grundigt kig på din kode for dumme fejl; forespørger du INFORMATION_SCHEMA på den samme database som din indsættelse anvendes på for eksempel? Har du en slåfejl i dit tabel/spalte navn i en af de to statements?
Prøv dette...
Tjek først, om kombinationen
table
/column
(id
/name
) findes idbo.syscolumns
(en intern SQL Server-tabelle, der indeholder feltdefinitioner), og hvis ikke, skal du sende den relevante forespørgselALTER TABLE
for at tilføje den. For eksempel: