sql >> データベース >  >> RDS >> Mysql

Mysql列が存在する場合にのみ列から選択する方法

    このクエリは、列が存在するかどうかを示します。

    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内ですべてを実行します。



    1. SQL-2つの列で同じ値を持つ行を選択します

    2. サブクエリの解決策は、複数の行エラーを返します

    3. テーブルの中央に新しい列を挿入しますか?

    4. IRI-Windocksテストデータベースリポジトリ