DROP TABLE IF EXISTS t1; CREATE TABLE t1(c1 DATE NOT NULL PRIMARY KEY); SET TIMESTAMP=1171346973; INSERT INTO t1 (c1) VALUES(NOW()); Warnings: Note 1265 Data truncated for column 'c1' at row 1 INSERT INTO t1 (c1) VALUES(ADDTIME(NOW(),'1 01:01:01')); Warnings: Note 1265 Data truncated for column 'c1' at row 1 INSERT INTO t1 (c1) VALUES(NOW()) ON DUPLICATE KEY UPDATE c1=ADDTIME(NOW(),'2 02:01:01'); Warnings: Note 1265 Data truncated for column 'c1' at row 1 Note 1265 Data truncated for column 'c1' at row 1 SELECT * FROM t1; c1 2007-02-14 2007-02-15 DROP TABLE t1; CREATE TABLE t1(c1 YEAR NOT NULL PRIMARY KEY); INSERT INTO t1 (c1) VALUES(1999); INSERT INTO t1 (c1) VALUES(2000); INSERT INTO t1 (c1) VALUES(1999) ON DUPLICATE KEY UPDATE c1=2011; SELECT * FROM t1; c1 2000 2011 DROP TABLE t1; CREATE TABLE t1(c1 TIME NOT NULL PRIMARY KEY); SET TIMESTAMP=1171346973; 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'); SELECT * FROM t1; c1 10:10:34 11:10:34 DROP TABLE t1; CREATE TABLE t1(c1 YEAR NOT NULL PRIMARY KEY); INSERT INTO t1 (c1) VALUES(1999); INSERT INTO t1 (c1) VALUES(2000); INSERT INTO t1 (c1) VALUES(1999) ON DUPLICATE KEY UPDATE c1=2011; SELECT * FROM t1; c1 2000 2011 DROP TABLE t1; CREATE TABLE t1(c1 DATETIME NOT NULL PRIMARY KEY); SET TIMESTAMP=1171346973; 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'); SELECT * FROM t1; c1 2007-02-14 10:10:34 2007-02-15 11:10:34 DROP TABLE t1; CREATE TABLE t1(c1 YEAR NOT NULL PRIMARY KEY); INSERT INTO t1 (c1) VALUES(1999); INSERT INTO t1 (c1) VALUES(2000); INSERT INTO t1 (c1) VALUES(1999) ON DUPLICATE KEY UPDATE c1=2011; SELECT * FROM t1; c1 2000 2011 DROP TABLE t1; CREATE TABLE t1(c1 TIMESTAMP NOT NULL PRIMARY KEY); SET TIMESTAMP=1171346973; 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'); SELECT * FROM t1; c1 2007-02-14 10:10:34 2007-02-15 11:10:34 DROP TABLE t1; CREATE TABLE t1(c1 YEAR NOT NULL PRIMARY KEY); INSERT INTO t1 (c1) VALUES(1999); INSERT INTO t1 (c1) VALUES(2000); INSERT INTO t1 (c1) VALUES(1999) ON DUPLICATE KEY UPDATE c1=2011; SELECT * FROM t1; c1 2000 2011 DROP TABLE t1;