sql >> Database >  >> RDS >> Mysql

Mysql Alleen selecteren uit een kolom als de kolom bestaat

Deze query geeft aan of een kolom bestaat.

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

Als u wilt controleren of sommige kolommen bestaan, voer dan een select-statement uit. U moet eerst controleren of uw kolommen bestaan. Voer vervolgens de selectie uit:

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

Als de IF-voorwaarde waar is, voer je alles uit binnen de BEGIN en END.



  1. SQL Server-zelfstudie - Alles wat u nodig hebt om Transact-SQL onder de knie te krijgen

  2. orakel - welke uitspraken moeten worden gedaan?

  3. PDO:MySQL-server is verdwenen

  4. PHP:het ophalen van afbeeldingen van MySQL Blob rechtstreeks in de <img>-tag