Waardes invoeren in onbekende kolommen (MySQL)
Versie door Jeroen Strompf (overleg | bijdragen) op 14 jan 2016 om 15:43
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?