Возможно выбирать все поля базы данных, кроме немногие?

Я искал и это не нахожу, но находился, что в консультации mysql, нуждался в том, чтобы выбрать почти весь контент меньше 3 элементов, вопрос состоит в том, что это почти 20 колонн. Который из-за php может не являться этими полями, но я делаю вывод посредством php и это преобразовываю в вывод json и хотело уберечься делать возможный обременительный код php когда могут избавлять от этого с основания mysql.

Я предпочел выбирать поле из-за поля, но: Возможно делать более элегантной формы?

Пример:

SELECT  b.gorro , b.pierna_derecha , b.pierna_izquierda , b.brazo_derecho , b.brazo.izquierdo ,...
FROM batman AS b

В mysql существует способ выбирать все кроме полей в частности.?

0
задан 04.11.2016, 20:35
3 ответа

Здесь есть ответ на английском, который относится к той же теме. Как кажется, не возможно делать элегантной формы, а скорее продолжая серию "приемов", которые а следовательно я видел производят износ в выступлении и читабельности консультации.

Мой совет: помидор время писания почти 20 колонн, столько sql как кто увидел код позже они тебе будут благодарны за это.

2
ответ дан 24.11.2019, 12:44
  • 1
    Понятный, но stackoverflow.com/questions/729197/… - соединение, потому что той, которую ты перемещаешь меня, один duplicate, хотя он стоит мне так или иначе, спасибо. – CodeNoob 04.11.2016, 19:09
  • 2
    Не я hab и # 237; в отчитанный в этом duplicate. Я радуюсь, что он подал тебя! Привет! – Genarito 04.11.2016, 19:12
  • 3
    Adem и # 225; s, если потом в и # 241; ades колонны ты должен проверять все select, которые он делает консультации из-за сноски, чтобы отказываться от новых колонн в и # 241; adidas. – Peregring-lk 04.11.2016, 22:06
  • 4
    Превосходная деталь! – Genarito 04.11.2016, 22:31

Действительно, если, что ты можешь делать это. ImagГ-nate, что у тебя есть эта созданная таблица:

CREATE TABLE Persons(
  id int PRIMARY KEY,
  gorro varchar(255),
  pierna_derecha varchar(255),
  pierna_izquierda varchar(255),
  brazo_derecho varchar(255)
);

INSERT INTO Persons VALUES(1,'gorro', 'pierna derecha', 'pierna izq', 'brazo dcho');

И ты хочешь опустить колонны pierna_derecha и pierna_izquierda из таблицы Persons, сделав select. HarГ-схвати следующее:

SET @sql = CONCAT('SELECT ', (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), 'pierna_derecha,pierna_izquierda', '') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Persons' AND TABLE_SCHEMA = 'tuBaseDeDatos'), ' FROM Persons');

PREPARE stmt1 FROM @sql;
EXECUTE stmt1;

Имей в виду, что tendrГ-эксперт, который будьте должен менять tuBaseDeDatos на твою реальную базу данных.

0
ответ дан 24.11.2019, 12:44

Если этот select ты хочешь, чтобы php он не был должен думать, но я просто прибыл к нему из базы данных правильно, выбор, который у тебя есть, состоит в том, чтобы использовать совещания. Ты создаешь вид SELECT * FROM tuTabla однажды созданная, mySql он изменится тебе * из-за каждого из полей, сними поля, которые ты не хочешь показать.

0
ответ дан 24.11.2019, 12:44