このクエリは、列が存在するかどうかを示します。
SELECT *
FROM information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'db_name'
AND TABLE_NAME = 'table_name'
AND COLUMN_NAME = 'column_name'
一部の列が存在するかどうかを確認する場合は、selectステートメントを実行して、最初に列が存在することを確認する必要があります。次に、選択を実行します:
if (exists (SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'myview' AND COLUMN_NAME = 'Period') and exists (SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'myview' AND COLUMN_NAME = 'Country'))
begin
select `Period`, `Country` from myview
end
IF条件が真の場合、BEGINとEND内ですべてを実行します。