Tabel uniek maken via phpmyadmin of script
Ik bedoel niet de rijen, velden of kolommen maar de waarde van de tabellen.
Is het mogelijk deze tabellen een unieke sleutel en autoincrement te geven via PHPMYADMIN of kan dit alleen via een PHP script?
Ja, dat kan.
Een database bestaat uit hoofdstukken waarin je de data opslaat, dit zijn de tabellen. Hierin staan de velden, waarin de de inhoud van de items (ook records genoemd) wordt beschreven.
Dus wat bedoel je nou precies?
Autoincrement is sowieso al uniek
Blijf ik wel benieuwd waarom je tabellen zou willen nummeren.
Ik zie niet op welke manier ik phpmyadmin moet instellen om de tabellen uniek te maken met autoincrement.
Toevoeging op 29/05/2015 14:32:20:
Maar hoeft niet toch. Ik wil weten wat de mogelijkheden zijn. Ik heb ook een idee dat ik een $var[x] kan laten maken met CREATE TABLES, maar als phpmyadmin of mysql bepaalde instructies bevat wil ik dat eerst overwegen.
Als ik het goed begrijp wil je een database bouwen in je database, met andere woorden, op een soort van generieke manier je tabellen opbouwen. Misschien is de EAV-aanpak (Entity-Attribute-Value) iets voor jou?
Maar tis om te beginnen wellicht handig(er) als je vertelt wat je probeert te doen. Mij is in ieder geval niet duidelijk wat je bedoelt.
Ik ben ook benieuwd naar je doel. Als ik iets lees over genummerde tabellen dan moet de databasestructuur niet echt kloppen.
Je zou dan ook steeds in je database de structuur moeten bepalen om te zien of tabel999 al bestaat. Query's worden dan dynamische samengesteld?
Lijkt me logischer om ipv tabel999, tabel998 etc een tabel te hebben waarin 1 extra kolom staat. In die kolom staat vervolgens 999 of 998 oid. om aan te geven dat het data is die in jouw beleving in tabel999 zou staan...
Aangenomen dat de verdere structuur van de verschillende genummerde tabellen gelijk is.
Code (php)
1
2
3
4
2
3
4
SELECT 'CD' AS `tabel`, `cd`.* FROM `cd`
UNION SELECT 'DVD', `dvd`.* FROM `dvd`
UNION SELECT 'Blu-ray', `br`.* FROM `br`
ORDER BY 2 ASC;
UNION SELECT 'DVD', `dvd`.* FROM `dvd`
UNION SELECT 'Blu-ray', `br`.* FROM `br`
ORDER BY 2 ASC;
Aangenomen dat elke tabel als eerste kolom een ID heeft waarop je sorteert. Dat ID hoeft dan niet uniek te zijn, omdat het in het resultaat gecombineerd wordt met een eigen referentie naar de tabel waar het vandaan komt.
N.B.: UNION verwijdert dubbele rijen.