Search code examples
phpmysqldatabasezend-frameworkselect

Selecting all fields except only one field in mysql


Possible duplicate:
Select all columns except one in MySQL?

I want to know is there a way to select all fields except one field from a table in my database.

I know I can describe the field names in the select query.
For example:

SELECT fieldname1, fieldname2, fieldname3, fieldname4 FROM tablename;

But my question is, is there any way to do it in a simple way... Like this

SELECT * FROM tablename EXCEPT(fieldname3);

I am using MySQL and Zend framework.


Solution

  • you can do it easily like that

    lets say your field is an id = 5

    then

       select * from your_table where id !=5 
    

    and if you mean columns

    lets say you dont want select column3

    then

       select column1,column2,column4 from tablename;
    

    if you have many columns

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