« MySQL baki? »

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?

Kommentek RSS ikon
A bejegyzéshez érkezett kommentek, amiket RSS csatornán is követhetsz.
A TIMESTAMP mező a legutolsó frissítést tárolja, ezért érdemes DATETIME-ot használni.
Sejtettem, hogy ez lehet a probléma, no sebaj.
ezért használok inkább int() mezőt…
Egy darabig én is így voltam, aztán rájöttem, mit tud a DATE_FORMAT, vagy pl. az EASTER funkció.
en is int parti vagyok
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. :)
vagy:

SELECT * FROM `akarmi` WHERE DATE_FORMAT(`datummezo_neve`,'%Y%m%d') = CURDATE() + 0
nalam is datetime van, de merne oldanam meg akar inttel?
where datummezo_neve like 'Y.m.d.%'
Tudtommal int esetében nem működik, de nem tudom. Meg az eléggé gusztustalan, hogy 20060505112230, nem?
gusztustalannak gusztustalan, de megoldhato. (elozo kommentembol pontok minusz, mert kozben vmier a textre gondoltam :D)
igen. a timestamp ilyen. ezért tárolom én a timestampjeimet int(20) unsigned formában :D azt nem írja át :P
ha van külön datetime mező akkor minek használtok intet?
Ha valakit érdekel, a drupal is int-et hasznal, es timestamp vagyon benne. Gondolom azert, mert konnyen konvertalhato.
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 moikboy í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.
Na, ez megint egy kisregény lett.
Új komment

Itt az adott bejegyzésben elhangzottakhoz szólhatsz hozzá. Ha primitív, csúnya, vagy bunkó erkölcsről teszel tanúbizonyságot, tuti, hogy kimoderállak és rosszat mondok rólad. A hozzászólás nem kötelező, amit írsz vállald föl!

Ezeket az adatokat - ha a böngésződ kezeli a kukikat - csak egyszer kell megadnod, később módosíthatod.

Ha van gravatarod - és a gravataros e-mail-címeddel kommentálsz -, akkor az megjelenik. Ha nincs, vagy nem tudod miaz, akkor olvasd el az útmutatót és regisztrálj.

Neved: E-mail címed (nem jelenik meg): Webszájtod (ha van): Kommented: Mennyi négy és három összege?
Ez védelmi célokat szolgál, szimplán írd be a fenti összeadás összegét!

A kommentedet írhatod nagyobb mezőbe vagy akár formázhatod is, de ha nem szalonképes, akkor moderálom!

Ajánló
Ebben a témában, esetleg ezen a napon voltak még ilyenek is:

Oké, visszavonom amit a Cinema City-ről mondtam (2010. január 18., 08:15:56)
Teknokol (2007. január 18., 03:27:35)
Krugle (2006. június 15., 12:18:11)

Érdekességek
Száraz számok, pusztán csak tények:

Ez a bejegyzés 2156 napja született, 76 szóból, és 332 karakterből áll. Ajánlhatod bizonyos linkgyűjtő oldalaknak: