Az azért gázos ám, hogy módosítottam a kommentek tábláját, ami több, mint hatszáz sort jelent, és ezekre a sorokra új dátumot applikált, méghozzá a mait, pontosabban azon időt, amikor módosítottam. Csak egy kérdés, ez normális dolog? A timestamp mezőnek van egy ilyen szokása, hogy módosításkor felülírja a dátumot?
2006. június 22. \\ web témában
MySQL baki?
Mefi
Nádai Gábor vagyok, de a legtöbben Mefinek hívnak. 2005-ben, akkor még szinte gyerekként kezdtem el a mefiblogot. Általában a saját gondolataimról írok utazás, film, sorozat, színház, könyv, fotózás, kütyü, szoftverfejlesztés vagy internet témákban.
Mefi bejegyzései
-
A nagy online optika teszt: Firmoo, Zeelool és Fytoo
2024. november 05.
-
Japán élménybeszámoló és egy háttérben meghúzódó kínai-szál
2024. október 31.
-
Volt valami furcsa és megmagyarázhatatlan az M7-es autópályán
2024. október 26.
-
Saci – életünk egy kicsi, szőrös nyugdíjassal
2024. október 16.
-
Viszlát, 2023!
2023. december 31.
Mefi hozzászólásai
-
Japán élménybeszámoló és egy háttérben meghúzódó kínai-szál
"köszi szépen!"
-
Somogy vármegyei földbirtoklási kalandjaim
"Aww, köszi szépen! :)"
-
Somogy vármegyei földbirtoklási kalandjaim
"Köszönöm!"
-
Somogy vármegyei földbirtoklási kalandjaim
"Köszi szépen! <3"
-
Somogy vármegyei földbirtoklási kalandjaim
"Köszönjük szépen! <3"
17 hozzászólás
Hozzászólok én is →
Szólj hozzá!
Ha ez az első alkalom, a kommented jóváhagyás után fog megjelenni.
Az e-mail-címed nem jelenik meg.
Vélemény, hozzászólás? Válasz megszakítása
Ez az oldal az Akismet szolgáltatást használja a spam csökkentésére. Ismerje meg a hozzászólás adatainak feldolgozását .
moikboy
2006. június 22. — 18:56:08
A TIMESTAMP mező a legutolsó frissítést tárolja, ezért érdemes DATETIME-ot használni.
Vale
2006. június 22. — 19:03:47
ezért használok inkább int() mezőt…
eF`k3_
2006. június 22. — 19:15:03
en is int parti vagyok
Ámon Tamás
2006. június 22. — 20:03:07
vagy:
SELECT * FROM `akarmi` WHERE DATE_FORMAT(`datummezo_neve`,'%Y%m%d') = CURDATE() + 0
Shamalt
2006. június 22. — 20:35:22
nalam is datetime van, de merne oldanam meg akar inttel?
where datummezo_neve like ‘Y.m.d.%’
Shamalt
2006. június 22. — 21:28:08
gusztustalannak gusztustalan, de megoldhato. (elozo kommentembol pontok minusz, mert kozben vmier a textre gondoltam :D)
Devilll
2006. június 22. — 23:16:46
igen. a timestamp ilyen. ezért tárolom én a timestampjeimet int(20) unsigned formában 😀 azt nem írja át 😛
Haszprus
2006. június 23. — 05:22:17
ha van külön datetime mező akkor minek használtok intet?
Ámon Tamás
2006. június 23. — 07:12:47
Ha valakit érdekel, a drupal is int-et hasznal, es timestamp vagyon benne. Gondolom azert, mert konnyen konvertalhato.
balti
2006. június 23. — 08:41:27
Lehet, hogy azért használ integert, mert ennek a típusnak a feldolgozása a leggyorsabb. Tk. egy darab gépszíntű művelet eldönteni, hogy két int egyezik vagy sem.
Ha többször kell lekérdezni az adatokat, főleg, ha sok adatból kell keveset kibányászni, akkor lehet, hogy gyorsabb, ha a kiíratásnál formázza a dátumot, minthogy a mysql előállítja a megfelelő formátumú dátumot, és ez után hasonlítja össze. Mellesleg függvény használatakor a mezőnél nem fogja az indexet használni.
Ellenben az int – unixtimestamp párosításnak hátránya, hogy ránézésre épeszű ember ki nem deríti, hogy milyen dátum szerepel a mezőben.
Ahogy [b]moikboy[/b] írta, a Timestamp típusú mező értékét automatikusan minden módosításkor átírja a módosítás dátumára. De csak az első ilyen mezőt. Ha vissza tudod állítani az előző helyzetet – megoldás lehet, hogy ideiglenesen hozzáadsz egy Timestamp mezőt a táblához.
balti
2006. június 23. — 08:42:45
Na, ez megint egy kisregény lett.
Mefi
2006. július 22. — 12:27:48
Sejtettem, hogy ez lehet a probléma, no sebaj.
Mefi
2006. július 22. — 12:27:48
Egy darabig én is így voltam, aztán rájöttem, mit tud a DATE_FORMAT, vagy pl. az EASTER funkció.
Mefi
2006. július 22. — 12:27:48
Akkor mutatok nektek valamit. Van egy datetime mező, amiben 2006-06-22 19:18:00 formában tárolódik a dátum. Teszem azt, te le akarod kérni az összes mai kommentet. Ez annyiból áll, hogy
SELECT * FROM `akarmi` WHERE DATE_FORMAT(`datummezo_neve`,'%Y%m%d') = 20060622
Ezt ti int típusban nem oldjátok meg. És akkor még nem beszéltem a csodálatos makeDate(); fgvm-ről, ami faszán működik együtt a dátummezőkkel. 🙂Mefi
2006. július 22. — 12:27:48
Tudtommal int esetében nem működik, de nem tudom. Meg az eléggé gusztustalan, hogy 20060505112230, nem?
Mefi
2006. július 22. — 12:27:48
Semmi gond. 😀
Mefi
2006. július 22. — 12:27:48
Semmi gond. 🙂