mysqlselectwildcard

Select all columns except one in MySQL?


I'm trying to use a select statement to get all of the columns from a certain MySQL table except one. Is there a simple way to do this?

EDIT: There are 53 columns in this table (NOT MY DESIGN)


Solution

  • Actually there is a way, you need to have permissions of course for doing this ...

    SET @sql = CONCAT('SELECT ', (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), '<columns_to_omit>,', '') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '<table>' AND TABLE_SCHEMA = '<database>'), ' FROM <table>');
    
    PREPARE stmt1 FROM @sql;
    EXECUTE stmt1;
    

    Replacing <table>, <database> and <columns_to_omit>