列名を選択したいが、前もってテーブル構造がわからず、変更される可能性があるので、列名でselect文をハードコードすることはできない。私はまた、すべての列を選択したくありません。これを行う簡単な方法はありますか?mySQLで列名を動的に選択する方法
私の考えは、これらの2つのクエリのいくつかの種類の組み合わせですが、私のSQLはそれほど良くありません。
SHOW COLUMNS FROM table_name;
SELECT * FROM table_name;
サブセレクトを使用しようとしましたが機能しませんでした。何が起こるように思わない、私はちょうど何の結果
SELECT (SELECT column_name
FROM information_schema.columns
WHERE table_name ='table_name')
FROM table_name;
は、たぶん私は参加していますか?... とにかくすべてのヘルプは素晴らしいことだ、感謝
表の構造が絶えず変化しているのは奇妙に思えますが、これは設計上の欠陥のようです。あなたはあなたの現在の構造を投稿したり、あなたのテーブルにもっと多くのコンテキストを提供できますか? – Taryn
絶えず変化しているわけではありません。しかし、テーブルの最終的な構造はまだ石で設定されていませんので、私は将来どのような変更に適応するほどスマートなシステムを作りようとしています。私は前もってカラム名を知らない。私は2つの別々のクエリでPHPでこれを行うことができましたが、私はデータベースレイヤでもそれを行うことができます。私は列名を取得することができると考えていたし、そのデータを使用してテーブルをクエリするのは、基本的に動的なselect文を作成することです。 – TheSnooker
これは動的SQL(実質的に2つのクエリ)で行うことができますが、すべての列を必要としない場合は、メタデータの列を選択するクエリをコーディングして、列を含める基準(そして、あなたが望む特定の注文)。ただし、メタデータのクエリの結果を選択クエリの選択リストに直接変換することはできません。 –