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