Как НЕ выбрать столбец для таблицы MySQL, это делает более быстрый запрос - PullRequest
0 голосов
/ 24 марта 2020

Мне нужно сделать запрос MySQL, в котором я не хочу выбирать столбец с именем description. Существует ли простой способ специально сказать НЕ выбирать столбец.

Пример: я хочу ВЫБРАТЬ все, кроме столбца описания . Можно ли это сделать или мне нужно написать каждый, который мне нужно выбрать вместо этого?

id| Serverid | date_added | description ...
 1        yes   12.03.09     bad engine
 3        yes   12.04.09     ok engine
 2        no    12.05.09     ok engine
 4        yes   12.06.09     bad engine



$cars = lib::$db->GetAll("SELECT SQL_CALC_FOUND_ROWS
                c.*,
            FROM cars AS c
            ORDER c.date_added DESC
            LIMIT 10);

Ответы [ 2 ]

0 голосов
/ 24 марта 2020
SET @sql = CONCAT('SELECT ', (SELECT REPLACE(GROUP_CONCAT(COLUMN1), '<Col To Omit>,', '') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '<TableName>' AND TABLE_SCHEMA = '<DBName>'), ' FROM <TableName>');

PREPARE stmt1 FROM @sql;
EXECUTE stmt1;
0 голосов
/ 24 марта 2020

Нет, нормального способа сделать это нет, за исключением перечисления всех полей вручную, например

SELECT id, Serverid, date_added FROM table

. В примечании, при любой разумной настройке, будет без разницы в производительности, если вы делаете SELECT *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...