[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#124369: Data loss in MySQL



Package: mysql-server
Version: 3.23.46-2
Severity: grave

When running an update statement, additional fields of the type
timestamp gets set to now().

In the example below:
mysql> UPDATE test SET field2 = now() WHERE id = 1;
Not only updates field2 but also field1.

mysql> DESCRIBE test;
+--------+---------------+------+-----+---------+----------------+
| Field  | Type          | Null | Key | Default | Extra          |
+--------+---------------+------+-----+---------+----------------+
| id     | int(11)       |      | PRI | NULL    | auto_increment |
| field1 | timestamp(14) | YES  |     | NULL    |                |
| field2 | timestamp(14) | YES  |     | NULL    |                |
+--------+---------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

mysql> INSERT INTO test ( field1 ) VALUES ( now() );
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM test;
+----+----------------+----------------+
| id | field1         | field2         |
+----+----------------+----------------+
|  1 | 20011217174936 | 00000000000000 |
+----+----------------+----------------+
1 row in set (0.01 sec)

mysql> UPDATE test SET field2 = now() WHERE id = 1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> SELECT * FROM test;
+----+----------------+----------------+
| id | field1         | field2         |
+----+----------------+----------------+
|  1 | 20011217175003 | 20011217175003 |
+----+----------------+----------------+
1 row in set (0.00 sec)

-- 
Peter Mathiasson                 | GPG Fingerprint:
E-Mail: peter@mathiasson.nu      |  A9A7 F8F6 9821 F415 B066
Web   : http://www.mathiasson.nu |  77F1 7FF5 C2E6 7BF2 F228

Attachment: pgpbdVtm80lq5.pgp
Description: PGP signature


Reply to: