FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Tjena!
Jag har en tabell där jag har använt mig av TIMESTAMP när jag har spart ner datumet. Och när jag nu ska uppdatera något i tabellen med hjälp av UPDATE så spars det gammla datumet över med dagens datum. Så jag tänkte höra om det finns något alltenativ till UPDATE som inte "spar om" datumet? /MVH Tomas |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Mycket flitig postare
|
Jag tror problemet är att du på Timestamp fältet valt ON UPDATE CURRENT_TIMESTAMP. Jag vet att PHPMyAdmin sätter det automatiskt så det är bara plocka bort det så borde problemet försvinna.
|
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Klarade millennium-buggen
|
Det första timestamp-fältet i en tabell uppdateras per default i mysql alltid till aktuellt datum, du får köra "UPDATE table SET timestamp_fält=timestamp_fält, värde=nyttvärde" istället.
Eller använda datetime istället för timestamp på fälten. |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Mycket flitig postare
|
grazzy: Är du säker? Testade precis lokalt på MySQL 5.0.22 och plockar jag bort "ON UPDATE CURRENT_TIMESTAMP" som läggs dit som default så fungerar det utmärkt att köra en UPDATE utan att timestampet ändras
|
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Medlem
|
Det känns nog vettigare att använda sig av ett vanligt datetime eller date för fält där datumet inte ska ändras.
Det är inga svårigheter att konvertera. |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
WizKid, jag vet inte, jag kör inte med phpmyadmin och bryr mig sällan om options på table. Det är säkert så som du säger att om man skapar en tabell och explicit anger den där optionen så uppdateras inte timestamps automatiskt.
Default är det dock på... |
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Medlem
|
dotvoid: Går det att konvertera utan att behöva göra om databasen och förlora alla data som ligger i den?, samt inte behöva skriva om all kod som nu lägger in datumet automatiskt genom att bara skriva i null?.
WizKid: Använder inte phpMyAdmin utan skriver direkt i konsollen, vet du hur man fixar det i konsollen ochså?. Behöver man "skapa om" databasen eller går det att ändra i den befintliga? |
||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Medlem
|
DATETIME tar upp 8 byte medans TIMESTAMP tar upp 4 byte, så jag föredrar en TIMESTAMP som inte uppdateras automatiskt.
Kod:
ALTER TABLE tabell CHANGE datum datum TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' |
||
![]() |
![]() |
Svara |
Ämnesverktyg | |
Visningsalternativ | |
|
|