Tabel uniek maken via phpmyadmin of script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan West

Johan West

28/05/2015 16:01:11
Quote Anchor link
De tabellen van mijn database zouden een uniek nummer moeten hebben.
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?
 
PHP hulp

PHP hulp

19/04/2024 09:02:22
 
- SanThe -

- SanThe -

28/05/2015 16:05:16
Quote Anchor link
Ja, dat kan.
 
- Ariën  -
Beheerder

- Ariën -

28/05/2015 16:05:43
Quote Anchor link
Wat bedoel je van de waarde van een tabel? Want laten we de structuur van een database eens bekijken.

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?
 
Marthijn Buijs

Marthijn Buijs

29/05/2015 07:41:44
Quote Anchor link
Autoincrement is sowieso al uniek
 
Obelix Idefix

Obelix Idefix

29/05/2015 07:55:16
Quote Anchor link
Blijf ik wel benieuwd waarom je tabellen zou willen nummeren.
 
Johan West

Johan West

29/05/2015 14:06:55
Quote Anchor link
Tabellen wil ik nummeren omdat ik het nummer later via een conditie wil uitlezen en op het scherm zetten.

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.
 
Thomas van den Heuvel

Thomas van den Heuvel

29/05/2015 14:33:03
Quote Anchor link
Misschien helpt het als je vertelt wat je uiteindelijk probeert te bereiken. Mogelijk is een generieke opzet van je database-tabellen een (beter) alternatief dan allemaal afzonderlijke tabellen die hetzelfde doen.

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.
 
- Ariën  -
Beheerder

- Ariën -

29/05/2015 14:56:57
Quote Anchor link
Ik ben ook benieuwd naar je doel. Als ik iets lees over genummerde tabellen dan moet de databasestructuur niet echt kloppen.
 
Ivo P

Ivo P

29/05/2015 16:40:04
Quote Anchor link
de structuur van een database moet staan. Een applicatie moet niet on-the-fly de structuur (tabellen en/of kolommen) moeten mogen aanpassen.

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.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

29/05/2015 16:51:40
Quote Anchor link
Beginnende PHP-ers denken vaak dat je voor bijvoorbeeld iedere user waarvoor je een (flink) aantal zaken wilt opslaan in je database een aparte tabel nodig hebt. Dit is echter niet het geval. Stel je wilt per user een aantal settings opslaan. Je kunt dan één tabel 'settings' maken waarin je de settings van ALLE users kriskras door elkaar kunt opslaan. Het enigste dat je nodig hebt is een extra kolom met een "foreign key" waarin het id van de user wordt bewaard. Vervolgens kun je gewoon doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT * FROM settings WHERE user_id=123
 

29/05/2015 17:14:55
Quote Anchor link
Misschien kan een query als deze van pas komen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;

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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.