Выбор всех полей, кроме только одного поля в mysql

Возможный дубликат:
Выделить все столбцы, кроме одного в MySQL?

Я хочу знать, есть ли способ выбрать все поля, кроме одного поля из таблицы в моей базе данных.

Я знаю, что я могу описать имена полей в запросе select.
Например:

SELECT fieldname1, fieldname2, fieldname3, fieldname4 FROM tablename; 

Но мой вопрос в том, есть ли способ сделать это простым способом … Подобно этому

 SELECT * FROM tablename EXCEPT(fieldname3); 

Я использую MySQL и Zend framework.

вы можете легко это сделать

скажем, ваше поле id = 5

тогда

  select * from your_table where id !=5 

и если вы имеете в виду столбцы

скажем, вы не хотите, чтобы select column3

тогда

  select column1,column2,column4 from tablename; 

если у вас много столбцов

  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; 

Да, вы можете получить из information_schema.columns

 SET @sql = CONCAT('SELECT ', (SELECT GROUP_CONCAT(COLUMN_NAME) FROM information_schema.columns WHERE table_schema = 'dbo' AND table_name = 'tablename' AND column_name NOT IN ('c1', 'c2')), ' from dbo.tablename'); PREPARE stmt1 FROM @sql; EXECUTE stmt1; 

Попробуй это –

 SHOW FIELDS FROM `tablename` WHERE FIELD NOT IN ('f1','f2','f3'); 

Выполните этот запрос и введите конкретные имена полей и поместите каждое имя поля в массив. затем взорвать массив с помощью «,» внутри запроса выбора.

 $fields = implode(',',$fields_arr); $sql = SELECT $fields FROM `tablename`;