Since that is exactly how the manual describes it, it must be a feature.
If you have more than one timestamp, they will all get set on an insert,
but only the first will be changed on an update.
Marco Deppe wrote:
Hi,
I was already questioning my sanity, but the problem below is
reproduceable:
This is how my table looks:
mysql> describe T_ORDH;
--------------+----------------------+-----+----+--------+--------
Field |Type |Null |Key |Default |Extra
--------------+----------------------+-----+----+--------+--------
PK_ID |int(10) unsigned | |PRI |NULL |auto_inc
ERSTELL_DATUM |timestamp(14) |YES | |NULL |
STATUS |smallint(5) unsigned | | |0 |
If I do
mysql> update T_ORDH set STATUS=2 where PK_ID=26272;
ERSTELL_DATUM is set to the current date. I know that a timestamp
takes the current time, if set it to NULL, but since I'm not touching
it, it shouldn't change, should it?
A quick workaround is
mysql> update T_ORDH set STATUS=2, ERSTELL_DATUM=ERSTELL_DATUM
-> where PK_ID=26272;
The big question: Is it a bug or a feature?
(mysql Ver 11.18 Distrib 3.23.51, for pc-linux-gnu (i686))
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php