DROP TABLE IF EXISTS t1; CREATE TABLE t1(c1 DATE NOT NULL, c2 DATE NULL, c3 DATE NULL, PRIMARY KEY(c1), UNIQUE(c2)); SET TIMESTAMP=1171346973; INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),ADDTIME(NOW(),'4 04:01:01'),NOW()); Warnings: Note 1265 Data truncated for column 'c1' at row 1 Note 1265 Data truncated for column 'c2' at row 1 Note 1265 Data truncated for column 'c3' at row 1 INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'3 03:01:01'),NOW()); Warnings: Note 1265 Data truncated for column 'c1' at row 1 Note 1265 Data truncated for column 'c2' at row 1 Note 1265 Data truncated for column 'c3' at row 1 INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'2 02:01:01'),ADDTIME(NOW(),'2 02:01:01'),NOW()); Warnings: Note 1265 Data truncated for column 'c1' at row 1 Note 1265 Data truncated for column 'c2' at row 1 Note 1265 Data truncated for column 'c3' at row 1 INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'3 03:01:01'),ADDTIME(NOW(),'1 01:01:01'),NOW()); Warnings: Note 1265 Data truncated for column 'c1' at row 1 Note 1265 Data truncated for column 'c2' at row 1 Note 1265 Data truncated for column 'c3' at row 1 INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'4 04:01:01'),NOW(),NOW()); Warnings: Note 1265 Data truncated for column 'c1' at row 1 Note 1265 Data truncated for column 'c2' at row 1 Note 1265 Data truncated for column 'c3' at row 1 INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'2 02:01:01'),ADDTIME(NOW(),'2 02:01:01'),NOW()) ON DUPLICATE KEY UPDATE c3=ADDTIME(NOW(),'6 06:01:01'); Warnings: Note 1265 Data truncated for column 'c1' at row 1 Note 1265 Data truncated for column 'c2' at row 1 Note 1265 Data truncated for column 'c3' at row 1 Note 1265 Data truncated for column 'c3' at row 1 INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW()) ON DUPLICATE KEY UPDATE c3=ADDTIME(NOW(),'6 06:01:01'); Warnings: Note 1265 Data truncated for column 'c1' at row 1 Note 1265 Data truncated for column 'c2' at row 1 Note 1265 Data truncated for column 'c3' at row 1 Note 1265 Data truncated for column 'c3' at row 1 SELECT * FROM t1; c1 c2 c3 2007-02-13 2007-02-17 2007-02-19 2007-02-14 2007-02-16 2007-02-13 2007-02-15 2007-02-15 2007-02-19 2007-02-16 2007-02-14 2007-02-13 2007-02-17 2007-02-13 2007-02-13 DROP TABLE t1; CREATE TABLE t1(c1 YEAR NOT NULL, c2 YEAR NULL, c3 YEAR NULL, PRIMARY KEY(c1), UNIQUE(c2)); INSERT INTO t1 (c1,c2,c3) VALUES(2000,2004,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2001,2003,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2002,2002,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2003,2001,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2004,2000,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2002,2002,2000) ON DUPLICATE KEY UPDATE c3=2011; INSERT INTO t1 (c1,c2,c3) VALUES(2000,2000,2000) ON DUPLICATE KEY UPDATE c3=2011; SELECT * FROM t1; c1 c2 c3 2000 2004 2011 2001 2003 2000 2002 2002 2011 2003 2001 2000 2004 2000 2000 DROP TABLE t1; CREATE TABLE t1(c1 TIME NOT NULL, c2 TIME NULL, c3 TIME NULL, PRIMARY KEY(c1), UNIQUE(c2)); SET TIMESTAMP=1171346973; INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),ADDTIME(NOW(),'4 04:01:01'),NOW()); INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'3 03:01:01'),NOW()); INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'2 02:01:01'),ADDTIME(NOW(),'2 02:01:01'),NOW()); INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'3 03:01:01'),ADDTIME(NOW(),'1 01:01:01'),NOW()); INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'4 04:01:01'),NOW(),NOW()); INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'2 02:01:01'),ADDTIME(NOW(),'2 02:01:01'),NOW()) ON DUPLICATE KEY UPDATE c3=ADDTIME(NOW(),'6 06:01:01'); INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW()) ON DUPLICATE KEY UPDATE c3=ADDTIME(NOW(),'6 06:01:01'); SELECT * FROM t1; c1 c2 c3 09:09:33 13:10:34 15:10:34 10:10:34 12:10:34 09:09:33 11:10:34 11:10:34 15:10:34 12:10:34 10:10:34 09:09:33 13:10:34 09:09:33 09:09:33 DROP TABLE t1; CREATE TABLE t1(c1 YEAR NOT NULL, c2 YEAR NULL, c3 YEAR NULL, PRIMARY KEY(c1), UNIQUE(c2)); INSERT INTO t1 (c1,c2,c3) VALUES(2000,2004,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2001,2003,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2002,2002,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2003,2001,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2004,2000,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2002,2002,2000) ON DUPLICATE KEY UPDATE c3=2011; INSERT INTO t1 (c1,c2,c3) VALUES(2000,2000,2000) ON DUPLICATE KEY UPDATE c3=2011; SELECT * FROM t1; c1 c2 c3 2000 2004 2011 2001 2003 2000 2002 2002 2011 2003 2001 2000 2004 2000 2000 DROP TABLE t1; CREATE TABLE t1(c1 DATETIME NOT NULL, c2 DATETIME NULL, c3 DATETIME NULL, PRIMARY KEY(c1), UNIQUE(c2)); SET TIMESTAMP=1171346973; INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),ADDTIME(NOW(),'4 04:01:01'),NOW()); INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'1 01:01:01'),ADDTIME(NOW(),'3 03:01:01'),NOW()); INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'2 02:01:01'),ADDTIME(NOW(),'2 02:01:01'),NOW()); INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'3 03:01:01'),ADDTIME(NOW(),'1 01:01:01'),NOW()); INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'4 04:01:01'),NOW(),NOW()); INSERT INTO t1 (c1,c2,c3) VALUES(ADDTIME(NOW(),'2 02:01:01'),ADDTIME(NOW(),'2 02:01:01'),NOW()) ON DUPLICATE KEY UPDATE c3=ADDTIME(NOW(),'6 06:01:01'); INSERT INTO t1 (c1,c2,c3) VALUES(NOW(),NOW(),NOW()) ON DUPLICATE KEY UPDATE c3=ADDTIME(NOW(),'6 06:01:01'); SELECT * FROM t1; c1 c2 c3 2007-02-13 09:09:33 2007-02-17 13:10:34 2007-02-19 15:10:34 2007-02-14 10:10:34 2007-02-16 12:10:34 2007-02-13 09:09:33 2007-02-15 11:10:34 2007-02-15 11:10:34 2007-02-19 15:10:34 2007-02-16 12:10:34 2007-02-14 10:10:34 2007-02-13 09:09:33 2007-02-17 13:10:34 2007-02-13 09:09:33 2007-02-13 09:09:33 DROP TABLE t1; CREATE TABLE t1(c1 YEAR NOT NULL, c2 YEAR NULL, c3 YEAR NULL, PRIMARY KEY(c1), UNIQUE(c2)); INSERT INTO t1 (c1,c2,c3) VALUES(2000,2004,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2001,2003,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2002,2002,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2003,2001,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2004,2000,2000); INSERT INTO t1 (c1,c2,c3) VALUES(2002,2002,2000) ON DUPLICATE KEY UPDATE c3=2011; INSERT INTO t1 (c1,c2,c3) VALUES(2000,2000,2000) ON DUPLICATE KEY UPDATE c3=2011; SELECT * FROM t1; c1 c2 c3 2000 2004 2011 2001 2003 2000 2002 2002 2011 2003 2001 2000 2004 2000 2000 DROP TABLE t1;