--disable_warnings DROP TABLE IF EXISTS t1; --enable_warnings # Set Correct timezone to match result SET TIME_ZONE="+03:00"; CREATE TABLE t1(c1 DATE NULL UNIQUE); SET TIMESTAMP=1171346973; # 2007-02-13 15:09:33 INSERT INTO t1 (c1) VALUES(NOW()); INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'1 01:01:01')); INSERT INTO t1 (c1) VALUES(NOW()) ON DUPLICATE KEY UPDATE c1=ADDTIME(NOW(),'2 02:01:01'); --sorted_result SELECT * FROM t1; DROP TABLE t1; CREATE TABLE t1(c1 YEAR NULL UNIQUE); INSERT INTO t1 (c1) VALUES(1999); INSERT INTO t1 (c1) VALUES(2000); INSERT INTO t1 (c1) VALUES(1999) ON DUPLICATE KEY UPDATE c1=2011; --sorted_result SELECT * FROM t1; DROP TABLE t1; CREATE TABLE t1(c1 TIME NULL UNIQUE); SET TIMESTAMP=1171346973; # 2007-02-13 15:09:33 INSERT INTO t1 (c1) VALUES(NOW()); INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'1 01:01:01')); INSERT INTO t1 (c1) VALUES(NOW()) ON DUPLICATE KEY UPDATE c1=ADDTIME(NOW(),'2 02:01:01'); --sorted_result SELECT * FROM t1; DROP TABLE t1; CREATE TABLE t1(c1 YEAR NULL UNIQUE); INSERT INTO t1 (c1) VALUES(1999); INSERT INTO t1 (c1) VALUES(2000); INSERT INTO t1 (c1) VALUES(1999) ON DUPLICATE KEY UPDATE c1=2011; --sorted_result SELECT * FROM t1; DROP TABLE t1; CREATE TABLE t1(c1 DATETIME NULL UNIQUE); SET TIMESTAMP=1171346973; # 2007-02-13 15:09:33 INSERT INTO t1 (c1) VALUES(NOW()); INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'1 01:01:01')); INSERT INTO t1 (c1) VALUES(NOW()) ON DUPLICATE KEY UPDATE c1=ADDTIME(NOW(),'2 02:01:01'); --sorted_result SELECT * FROM t1; DROP TABLE t1; CREATE TABLE t1(c1 YEAR NULL UNIQUE); INSERT INTO t1 (c1) VALUES(1999); INSERT INTO t1 (c1) VALUES(2000); INSERT INTO t1 (c1) VALUES(1999) ON DUPLICATE KEY UPDATE c1=2011; --sorted_result SELECT * FROM t1; DROP TABLE t1; CREATE TABLE t1(c1 TIMESTAMP NULL UNIQUE); SET TIMESTAMP=1171346973; # 2007-02-13 15:09:33 INSERT INTO t1 (c1) VALUES(NOW()); INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'1 01:01:01')); INSERT INTO t1 (c1) VALUES(NOW()) ON DUPLICATE KEY UPDATE c1=ADDTIME(NOW(),'2 02:01:01'); --sorted_result SELECT * FROM t1; DROP TABLE t1; CREATE TABLE t1(c1 YEAR NULL UNIQUE); INSERT INTO t1 (c1) VALUES(1999); INSERT INTO t1 (c1) VALUES(2000); INSERT INTO t1 (c1) VALUES(1999) ON DUPLICATE KEY UPDATE c1=2011; --sorted_result SELECT * FROM t1; DROP TABLE t1; # Restore timezone to default SET TIME_ZONE= @@global.time_zone;