SQL Serverのテーブルに列が存在するかどうかを確認する方法は?
特定の列が存在しない場合に、その列を追加する必要があります。以下のようなものがありますが、常にfalseを返します。
IF EXISTS(SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'myTableName'
AND COLUMN_NAME = 'myColumnName')
SQL Serverデータベースのテーブルにカラムが存在するかどうかを確認するにはどうすればよいですか?
1783
3
お客様のご要望に応じて、以下のように調整してください。
質問の編集に対応するための編集。例えば、挿入が適用されているのと同じデータベースのINFORMATION_SCHEMAを照会していますか?例えば、挿入が適用されているのと同じデータベースのINFORMATION_SCHEMAを照会していますか?どちらかのステートメントのテーブル/カラム名にタイプミスがありますか?
試しに...
まず、
table
/column
(id
/name
)の組み合わせがdbo.syscolumns
(フィールド定義を含むSQL Serverの内部テーブル)に存在するかどうかを確認し、存在しない場合は適切なALTER TABLE
クエリを発行して追加します。例えば、以下のようになります。