Waardes invoeren in onbekende kolommen (MySQL)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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