Toon posts:

[MySQL] TIMESTAMP() die niet vervangen wordt na een UPDATE

Pagina: 1
Acties:

Verwijderd

Topicstarter
hey mensen,

ik heb een MySQL Tabel, en een van de velden is een Timestamp, die een UNIX_TIMESTAMP krijgt als ik de rij creëer (is dat nederlands?) maar daarna doe ik een UPDATE query op de rij, en wil ik dat de Timestamp niet wordt vervangen met de tijd dat ik de update doe. Is er een manier om dat aan te geven?
hier zijn mijn queries:

"INSERT INTO `gl_polls_results` ( `id` ,`date` ,`value0` ,`value1` ,`value2` `value3` ,`value4` ) VALUES ( '', UNIX_TIMESTAMP( ) , '0' , '0' , '0' , '0' , '0' )";

"UPDATE `gl_polls_results` SET value".$_POST['answer']."=value".$_POST['answer']."+1 WHERE date=".$_POST['date'];

TIA

Jule

ps ng een klein php vraagje, kan ik $_POST legen, zodat als er op refresh wordt gedrukt, de data niet nog een keer gestuurd wordt?

  • whoami
  • Registratie: December 2000
  • Laatst online: 21-08 22:54
Een Timestamp is er juist om aan te geven wanneer de row aangemaakt of gewijzigd werd.

https://fgheysels.github.io/


Verwijderd

Topicstarter
ja dat begrijp ik, maar ik wil alleen de aangemaakte versie ervan hebben
dus ik moet dan maar een varchar aanmaken en daar een timestamp in stoppen?

  • Icheb
  • Registratie: Augustus 2001
  • Laatst online: 11-08 13:24
stomme vraag, maar is een datetime dan niet logischer....
Die kan je toch wel later nog veranderen dacht ik (als ik het uit me hoofd doe :D)

sebsoft.nl


  • whoami
  • Registratie: December 2000
  • Laatst online: 21-08 22:54
Verwijderd schreef op 18 August 2003 @ 21:47:
ja dat begrijp ik, maar ik wil alleen de aangemaakte versie ervan hebben
dus ik moet dan maar een varchar aanmaken en daar een timestamp in stoppen?
Maak een Date(Time) veld aan, en stop daar de datum (en tijd) in waarop die row aangemaakt is.
(Je zou dit mooi kunnen oplossen dmv een INSERT TRIGGER, maar MySQL ondersteunt zo geen dingen).

https://fgheysels.github.io/


  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Verwijderd schreef op 18 August 2003 @ 21:47:
ja dat begrijp ik, maar ik wil alleen de aangemaakte versie ervan hebben
dus ik moet dan maar een varchar aanmaken en daar een timestamp in stoppen?
Nee, geen varchar van maken, daar is die niet voor bedoeld.

Om een update te doen zonder de timestamp te updaten:

SQL:
1
2
UPDATE tabel SET kolom1 = 'bla', kolom2 = 'bla', 
TimestampKolom = TimestampKolom WHERE kolom3 = 'bla'
Had je ook in de manual kunnen vinden.

BTW, een MySQL timestamp is wat anders dan een UNIX_TIMESTAMP, zie genoemde pagina.

[ Voor 3% gewijzigd door bigtree op 18-08-2003 22:19 ]

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Of dus gewoon een datetime gebruiken... Daar is het ding tenslotte voor, de timestamp in mysql is een beetje vervelend als je niet precies dat nodig hebt wat ie doet...

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
ACM schreef op 18 August 2003 @ 22:41:
Of dus gewoon een datetime gebruiken... Daar is het ding tenslotte voor, de timestamp in mysql is een beetje vervelend als je niet precies dat nodig hebt wat ie doet...
Soms is hij zelfs bittere noodzaak. :P Als je via MyODBC een record wilt updaten bijvoorbeeld. (heb ik eens uren op zitten zweten voor ik het probleem gevonden had)

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.

Pagina: 1