Chcę wybrać nazwy kolumn, ale nie wiem struktury tabeli z wyprzedzeniem i może się zmienić, więc nie mogę po prostu sztywno zakodować instrukcji select z nazwami kolumn. Ja też NIE chcę wybierać każdej kolumny. Czy istnieje i łatwy sposób to zrobić?Jak dynamicznie wybierać nazwy kolumn w mySQL
Moje myśli są połączeniem tych dwóch pytań, ale mój SQL nie jest tak dobry.
SHOW COLUMNS FROM table_name;
SELECT * FROM table_name;
Próbowałem użyć wybierania podrzędnego, ale nie zadziałało. Nic się nie dzieje, nie pojawia się błąd, po prostu nie daje rezultatów
SELECT (SELECT column_name
FROM information_schema.columns
WHERE table_name ='table_name')
FROM table_name;
Może muszę zrobić przyłączyć? .. każdym razie jakiejkolwiek pomocy byłoby świetnie, dzięki
Wydaje się dziwne, że struktura stołu stale się zmienia, co brzmi jak wada projektowa. Czy możesz opublikować swoją aktualną strukturę lub podać więcej kontekstu dla swoich stołów? – Taryn
To się nie zmienia. Jednak ostateczna struktura tabel nie jest jeszcze gotowa, dlatego staram się stworzyć system, który będzie wystarczająco inteligentny, aby dostosować się do zmian, jakie mogą nastąpić w przyszłości. Nie znam nazw kolumn przed czasem. Mógłbym to zrobić w PHP z 2 oddzielnymi zapytaniami, ale mimo to mogłem to zrobić również w warstwie bazy danych. Myślałem, że mogę uzyskać nazwy kolumn, a następnie użyć tych danych do zapytania tabeli w zasadzie zbudować dynamiczną instrukcję wyboru. – TheSnooker
Możesz to zrobić za pomocą dynamicznego SQL (będą to skutecznie dwa zapytania), ale jeśli nie chcesz wszystkich kolumn, będziesz musiał kodować w zapytaniu wybierając kolumny z metadanych, jakie są kryteria, w tym kolumna (i dowolne zamówienie, które chcesz). Nie można jednak zamienić wyników zapytania na metadane bezpośrednio na listę wyboru dla zapytania wyboru. –