datum + tijd + microseconden
Onderstaande conde geeft de datum en tijd weer [achter elkaar].
Code (php)
Graag zou ik daar de microseconden achter willen plakken. Is dit mogelijk? Hoe zou ik dat kunnen doen?
Ik wil hier een net ingevoerde record uniek maken.
Grt, Kabbi
Geef dan in je database het betreffende veld gewoon UNIQUE mee, kan weet je zeker dat je nooit 2 dezelfde waarden in die kolom hebt.
Wat versta jij onder uniek? Dat kan 1 veld uit een record zijn, maar ook een combinatie van velden. Met een auto_increment op het id heb je bijvoorbeeld ook al een uniek gegeven te pakken.
ik heb twee tabellen. In 1 tabel sla ik gegevens op en in tabel 2 sla ik een gedeelte van deze gegevens op.
Maar later wil ik de gegevens kunnen combineren en vergelijken.
Ik wilde een datum in beide velden uniek maken, tot op de milliseconden, indien mogelijk.
grt. Kabbi
kabbi schreef op 27.10.2006 15:40:
Dat is dan een fout datamodel. Gegevens sla je namelijk slechts 1x op.Hoi,
ik heb twee tabellen. In 1 tabel sla ik gegevens op en in tabel 2 sla ik een gedeelte van deze gegevens op.
Maar later wil ik de gegevens kunnen combineren en vergelijken.
Ik wilde een datum in beide velden uniek maken, tot op de milliseconden, indien mogelijk.
grt. Kabbi
ik heb twee tabellen. In 1 tabel sla ik gegevens op en in tabel 2 sla ik een gedeelte van deze gegevens op.
Maar later wil ik de gegevens kunnen combineren en vergelijken.
Ik wilde een datum in beide velden uniek maken, tot op de milliseconden, indien mogelijk.
grt. Kabbi
Hoe ziet jouw complete datamodel eruit en hoe heb je genormaliseerd?
Ja ik weet het, maar ik wilde een dynamisch menu maken. En de gegevens voor dit menu apart in en tabel opslaan. Het menu bestaat[structuur] voor verschillende hoofdthema's uit: een hoofdthema ->subthema -> ow.
Als ik alles uit de 1e [hoofd]tabel haal, ben ik bang dat ik voor elk hoofdtheme aan aparte query moet maken. Plus ik kan niet dynamisch een hoofdthema etc toevoegen dan.
Vandaar dat ik een aparte menu tabel wilde maken, waarin ik dan de datum van toevoeging van de gegevens in de hoofdtabel opsla in de menu tabel, alsook het hoofdthema.
Grt.
Kabbi
id int(2) not null auto increment
hoofdmenu:
- id, INT, auto_increment
- omschrijving, VARCHAR
submenu:
- id, INT, auto_increment
- id_hoofdmenu, INT, foreignkey met de tabel hoofdmenu op het id
- omschrijving, VARCHAR
onderwerp:
- id, INT, auto_increment
- id_submenu, INT, foreignkey met de tabel submenu op het id
- omschrijving, VARCHAR
Edit: Je gebruikt uiteraard de innoDB-engine van MySQL, maar dat is toch al de beste. MyISAM ondersteunt geen foreignkeys, daar heb je dus niets aan.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
De id van de hoofdtabel, waar enkele gegevens in staan is auto increment. Als ik nieuwe gegevens invoer moet ik dus ook iets invoeren in de andere[menu] tabellen. Hoe voer ik nu het id.nr van de tabel waar ik zojuist de gegevens heb ingevoerd in de andere tabellen in?
Zoiets als dit?
SELECT LAST_INSERT_ID() AS hoogste_nummer
//[voor de tabel waar zojuist is ingevoerd en een id.nr is aangemaakt]
Maar wat als iemand anders tegelijkertijd ergens anders ook gegevens aan het invoeren is? Dan zou dit in de war kunnen raken, is het niet? Daarom dacht ik met een datum/tijd/incl microseconden meer zekerheid te hebben.
Grt. Kabbi
Gewijzigd op 01/01/1970 01:00:00 door kabbi
Wanneer je het echt waterdicht wilt hebben, dan zul je met table-locking aan de slag moeten gaan of een 'echte' database gebruiken, bv. PostgreSQL. Dan maak je een API aan die alles in 1 keer voor jou regelt. Vanuit PHP voer je dan geen queries meer uit, je roept gewoon de desbetreffende API aan en stopt hier de benodigde data in. Zie http://www.postgresql.org/docs/8.1/interactive/server-programming.html voor meer informatie.
Dank je wel voor deze informatie! Hier kan ik zeker verder mee.
grt. Kabbi