Webdesign in Siegen

Timestamp und MySQL

Fragen zum Thema PHP können hier gestellt werden

Moderator: Basti

Timestamp und MySQL

Beitragvon Basti am 30.03.2007, 20:20

Hi,

da ich mich gerade ja an einem neuen System arbeite, überlege ich mir auch was neues für die MySQL Tabellen.
Also, eigentlich möchte ich gerne den aktuellen Timestamp, den PHP generiert, abspeichern, weil ich ihn nach leichter mit der date()-Funktion bearbeiten kann und kein umständliches substr() o.ä. brauche.

Ich habe jetzt mal probeweise den MySQL Spaltentyp "TIMESTAMP" für diese Werte genommen, da diese den Vorzug haben, dass MySQL automatisch den Timestamp einträgt und auch bei Updates ändert.
Problem ist nur, dass der Timestamp in MySQL nicht das gleiche wie in PHP ist. In MySQL ist er nämlich das hier YYYY-MM-DD HH-mm-ss, also nicht die Ziffernfolge aus PHP.

Deshalb wollte ich mal fragen, wie ihr es bei euch handhabt. Ich könnte natürlich auch einfach eine Integerspalte nehmen und den PHP Timestamp eintragen, aber das bietet eben nicht die nützlichen "Zusatzfunktionen" von MySQL die ich angesprochen hatte.
Benutzeravatar
Basti
Moderator
 
Beiträge: 1974
Registriert: 15.06.2006, 17:33
Wohnort: Rheinbreitbach

Beitragvon Dac-XP am 30.03.2007, 20:39

Ich nutze immer den Unix-Timestamp von php (time()).
Weil wenn man sich einmal was anderes angewöhnt hat bekommt man nachher eventuell Probleme. In den Anfängen habe ich auch den MySQL-Timestamp benutzt und musste bei komplexeren Routinen und Algorithmen schnell feststellen, dass ein Unix-Timestamp viel vielseitiger und vorallem standardisirter ist.
Benutzeravatar
Dac-XP
Mitglied
 
Beiträge: 1921
Registriert: 23.06.2005, 19:47
Wohnort: Mönchengladbach / NRW

Beitragvon Manuel am 30.03.2007, 23:02

Ich persönlich verwende eben genau den von dir angesprochenen Timestamp, den ich mit der PHP-Funktion time() generieren lasse. Diesen speichere ich dann als VARCHAR in einer Datenbank ab. VARCHAR deshalb, weil dieser recht flexibel ist und auch immer nur so viel Platz benötigt wie auch wirklich belegt wird. Ich lasse mich da aber auch gerne eines besseren belehren, falls es da eine bessere Möglichkeit gibt. Mit dem Timestamp direkt in MySQL habe ich leider nur schlechte Erfahrungen gemacht.

Lg,
Manuel ;-]
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 9114
Registriert: 10.12.2004, 19:29
Wohnort: Asbach

Beitragvon Basti am 30.03.2007, 23:11

Vielen Dank schonmal für eure Kommentare.

Ich denke ich werde dann wohl auch den PHP Timestamp nehmen.
Die Vorteile sind wohl ganz klar, dass man ihn besser zum "rechnen" benutzen und leichter verarbeiten kann.
Mal sehen welchen Spaltentyp ich dann nehme.

@Manu: Passt sich VARCHAR automatisch an die jeweilige Länge an? Ich habe mich mit den Typen noch nicht soo genau auseinandergesetzt. Aber wenn es so sein sollte, ist es ja einleuchtend, diesen Spaltentyp zu verwenden.

So, dann werde ich das mal morgen umsetzen ;)
Benutzeravatar
Basti
Moderator
 
Beiträge: 1974
Registriert: 15.06.2006, 17:33
Wohnort: Rheinbreitbach

Beitragvon Manuel am 30.03.2007, 23:17

Soweit ich weiss ja. Du brauchst ein Byte zur Speicherung der Länge des Varchars, also die Anzahl der Zeichen + 1. Andere Speichertypen reservieren ja gleich eine gewisse Speichergröße. Aber auch das würde ich noch mal genau im Handbuch nachlesen, aber eigentlich bin ich mir da recht sicher.
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 9114
Registriert: 10.12.2004, 19:29
Wohnort: Asbach


Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste