Как вы определяете, есть ли определенный столбец в таблице? - PullRequest
0 голосов
/ 27 ноября 2011

Я хотел бы знать, какой запрос использовать, чтобы определить, существует ли конкретный столбец таблицы в данной таблице.

Например, я хотел бы знать, существует ли столбец с именем Address_1 в таблице с именем Visits.

Я думаю, что это возможно в таблице словаря данных.

1 Ответ

0 голосов
/ 27 ноября 2011

Редактировать: Как отметил @tidwall, этот ответ предназначен для SQL Server и не будет работать для sqlite. Этот поток переполнения стека имеет правильный ответ для sqlite.


SELECT name
FROM sysobjects
WHERE id IN (
    SELECT id
    FROM syscolumns
    WHERE name = 'THE_COLUMN_NAME'
)

также, это дает всю информацию столбца таблицы для вашего анализа:

SELECT COLUMN_NAME, data_type, character_maximum_length
FROM information_schema.columns
WHERE TABLE_NAME = 'your_table_name'
...