sql >> Databasteknik >  >> RDS >> Mysql

Mysql Hur man bara väljer från en kolumn om kolumnen finns

Den här frågan ger dig om det finns en kolumn.

SELECT * 
FROM information_schema.COLUMNS 
WHERE 
    TABLE_SCHEMA = 'db_name' 
AND TABLE_NAME = 'table_name' 
AND COLUMN_NAME = 'column_name'

Om du vill kontrollera om det finns några kolumner, utför sedan en select-sats, du måste först kontrollera att dina kolumner finns. Utför sedan markeringen:

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

Om OM-villkoret är sant, kommer du att köra vad som helst i BEGIN och END.



  1. Konvertera datumformat till DD/MMM/ÅÅÅÅ-format i SQL Server

  2. Konvertera MySQL:s POINT till text i PHP

  3. Installera MySQLdb på Mac OS X

  4. BIT(1) eller TINYINT för flaggor i MySQL