Kom ihåg mig?
Home Menu

Menu


unix timestamp som mysql integer, unsigned?

 
Ämnesverktyg Visningsalternativ
Oläst 2008-07-14, 01:30 #11
victor- victor- är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2007
Inlägg: 41
victor- victor- är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2007
Inlägg: 41
En signed integer jämfört mot unsigned borde rent logiskt kräva en bit mer, inte en byte. Och även om det handlade om 1 byte per rad så skulle man spara 1 kB per 1024 rader.

Sen för övrigt kräver datetime 8 bytes, inte 9 bytes som du sa.

För födelsedatum skulle jag rekommendera typen "DATE" som endast lagrar år, månad och dag. Den är 3 bytes stor till skillnad från en standard integer på 4 bytes(oavsett om den är signed eller unsigned).

Om du skulle köra en signed 4-bitars integer(och det skulle jag rekommendera om du tvunget ska köra unixtime, för du kan aldrig lita på att unixtime kommer att fungera helt med alla system du kan tänkas vilja integrera med sen annars), så skulle du med unixtime kunna hålla koll på datum från 1902 -> 2038, medans date stödjer 1000-01-01 till 9999-12-31
victor- är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-07-14, 19:30 #12
totoos avatar
totoo totoo är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2006
Inlägg: 730
totoo totoo är inte uppkopplad
Mycket flitig postare
totoos avatar
 
Reg.datum: Nov 2006
Inlägg: 730
OK, tack för all info. Jag har aldrig tagit mig för att använda MySQLs dateprylar av den simpla orsaken att jag alltid kört med PHPs datumfunktioner. Kanske dags att vänja om sig snart då.

Men är det nån som har ett bra knep för att omvandla alla INT till DATE då? Som jag skrev förut så vägrade den ta min unsigned int som parameter. Det sög. Jag vill ju skriva en query som uppdaterar alla users.

Ska göra ett till försök senare nån gång.
totoo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-07-14, 19:57 #13
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
totoo: www.php.net/strtotime samt www.php.net/date
Jonas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-07-14, 22:33 #14
totoos avatar
totoo totoo är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2006
Inlägg: 730
totoo totoo är inte uppkopplad
Mycket flitig postare
totoos avatar
 
Reg.datum: Nov 2006
Inlägg: 730
Tack Jonas, men nu läste du nog lite fel. PHP-prylarna behärskar jag, nu låter jag mig övertalas till att göra som ni säger, men då tillåter ju inte MySQL mig att omvandla databasinnehållet till rätt typ.
totoo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-07-15, 00:26 #15
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
Kod:
UPDATE yourTable SET new_date = DATE_ADD('1970-01-01', INTERVAL old_timestamp, SECOND)
gör kanske susen.
eg0master är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 03:58.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017