Waardes invoeren in onbekende kolommen (MySQL)

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

Het probleem

Ik heb een lege tabel met zo'n 60 (!) velden:

+--------+--------+--------+--------+
| Veld01 | Veld02 |   ...  | Veld60 |
+--------+--------+--------+--------+

De namen van de velden zijn niet-systematisch en dynamisch.

De namen staan eveneens vermeld op de tweede regel van de tabel:

+--------+--------+--------+--------+
| Veld01 | Veld02 |   ...  | Veld20 |
+--------+--------+--------+--------+
| blah   | blah   |   ...  | blah   |
| Veld01 | Veld02 |   ...  | Veld20 |
+--------+--------+--------+--------+

Nu wil ik een record toevoegen, waarvan de velden afkomstig zijn uit een lookup-tabel. Bv.:

+---------+---------+--------+---------+
| Veld01  | Veld02  |   ...  | Veld20  |
+---------+---------+--------+---------+
| blah    | blah    |   ...  | blah    |
| Veld01  | Veld02  |   ...  | Veld20  |
| Field01 | Field02 |   ...  | Field20 |
+---------+---------+--------+---------+

Hoe doe je dat? Data mbv. een lookup-tabel binnenhengelen is doorgaans geen probleem, maar er zijn hier een paar zaken die het uitzonderlijk maakt:

  • Dit betreft kolommen in één record, en niet in afzonderlijke records
  • De namen van de kolommen zijn dynamisch. Zelfs het aantal kolommen is dynamisch
  • Het gaat om het vervangen van velden in het vierde record, óf om het toevoegen van een nieuw record - wat het gemakkelijkste is.

Aanvullende gegevens

  • In MySQL kun je niet op een intuïtieve manier naar kolommen verwijzen ahv. volgnummers
  • Hoogstwaarschijnlijk heb je de namen van de kolommen nodig voor referentie

Kolomnamen achterhalen

De kolomnamen zijn gemakkelijk te achterhalen


Vraagstukken

  • Kun je refereren naar een cel ahv. een volgnummer? → Niet echt
  • Kun je refereren naar een record ahv. een nummer?

Zie ook