WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   unix timestamp som mysql integer, unsigned? (https://www.wn.se/forum/showthread.php?t=30528)

victor- 2008-07-14 01:30

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

totoo 2008-07-14 19:30

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.

Jonas 2008-07-14 19:57

totoo: www.php.net/strtotime samt www.php.net/date

totoo 2008-07-14 22:33

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.

eg0master 2008-07-15 00:26

Kod:

UPDATE yourTable SET new_date = DATE_ADD('1970-01-01', INTERVAL old_timestamp, SECOND)
gör kanske susen.


Alla tider är GMT +2. Klockan är nu 04:12.

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