DROP TABLE IF EXISTS t1;
CREATE TABLE t1(c1 TINYINT NULL, c2 TINYINT NULL, c3 TINYINT NULL, UNIQUE(c1,c2,c3));
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10) ON DUPLICATE KEY UPDATE c1=100,c2=100,c3=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11) ON DUPLICATE KEY UPDATE c1=100,c2=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11) ON DUPLICATE KEY UPDATE c2=100,c3=100;
SELECT * FROM t1;
c1	c2	c3
10	100	100
10	11	10
100	100	100
100	100	11
11	10	10
11	10	11
11	11	10
DROP TABLE t1;
CREATE TABLE t1(c1 SMALLINT NULL, c2 SMALLINT NULL, c3 SMALLINT NULL, UNIQUE(c1,c2,c3));
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10) ON DUPLICATE KEY UPDATE c1=100,c2=100,c3=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11) ON DUPLICATE KEY UPDATE c1=100,c2=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11) ON DUPLICATE KEY UPDATE c2=100,c3=100;
SELECT * FROM t1;
c1	c2	c3
10	100	100
10	11	10
100	100	100
100	100	11
11	10	10
11	10	11
11	11	10
DROP TABLE t1;
CREATE TABLE t1(c1 MEDIUMINT NULL, c2 MEDIUMINT NULL, c3 MEDIUMINT NULL, UNIQUE(c1,c2,c3));
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10) ON DUPLICATE KEY UPDATE c1=100,c2=100,c3=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11) ON DUPLICATE KEY UPDATE c1=100,c2=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11) ON DUPLICATE KEY UPDATE c2=100,c3=100;
SELECT * FROM t1;
c1	c2	c3
10	100	100
10	11	10
100	100	100
100	100	11
11	10	10
11	10	11
11	11	10
DROP TABLE t1;
CREATE TABLE t1(c1 INT NULL, c2 INT NULL, c3 INT NULL, UNIQUE(c1,c2,c3));
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10) ON DUPLICATE KEY UPDATE c1=100,c2=100,c3=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11) ON DUPLICATE KEY UPDATE c1=100,c2=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11) ON DUPLICATE KEY UPDATE c2=100,c3=100;
SELECT * FROM t1;
c1	c2	c3
10	100	100
10	11	10
100	100	100
100	100	11
11	10	10
11	10	11
11	11	10
DROP TABLE t1;
CREATE TABLE t1(c1 INTEGER NULL, c2 INTEGER NULL, c3 INTEGER NULL, UNIQUE(c1,c2,c3));
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10) ON DUPLICATE KEY UPDATE c1=100,c2=100,c3=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11) ON DUPLICATE KEY UPDATE c1=100,c2=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11) ON DUPLICATE KEY UPDATE c2=100,c3=100;
SELECT * FROM t1;
c1	c2	c3
10	100	100
10	11	10
100	100	100
100	100	11
11	10	10
11	10	11
11	11	10
DROP TABLE t1;
CREATE TABLE t1(c1 BIGINT NULL, c2 BIGINT NULL, c3 BIGINT NULL, UNIQUE(c1,c2,c3));
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10) ON DUPLICATE KEY UPDATE c1=100,c2=100,c3=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11) ON DUPLICATE KEY UPDATE c1=100,c2=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11) ON DUPLICATE KEY UPDATE c2=100,c3=100;
SELECT * FROM t1;
c1	c2	c3
10	100	100
10	11	10
100	100	100
100	100	11
11	10	10
11	10	11
11	11	10
DROP TABLE t1;
CREATE TABLE t1(c1 DECIMAL NULL, c2 DECIMAL NULL, c3 DECIMAL NULL, UNIQUE(c1,c2,c3));
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10) ON DUPLICATE KEY UPDATE c1=100,c2=100,c3=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11) ON DUPLICATE KEY UPDATE c1=100,c2=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11) ON DUPLICATE KEY UPDATE c2=100,c3=100;
SELECT * FROM t1;
c1	c2	c3
10	100	100
10	11	10
100	100	100
100	100	11
11	10	10
11	10	11
11	11	10
DROP TABLE t1;
CREATE TABLE t1(c1 DEC NULL, c2 DEC NULL, c3 DEC NULL, UNIQUE(c1,c2,c3));
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10) ON DUPLICATE KEY UPDATE c1=100,c2=100,c3=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11) ON DUPLICATE KEY UPDATE c1=100,c2=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11) ON DUPLICATE KEY UPDATE c2=100,c3=100;
SELECT * FROM t1;
c1	c2	c3
10	100	100
10	11	10
100	100	100
100	100	11
11	10	10
11	10	11
11	11	10
DROP TABLE t1;
CREATE TABLE t1(c1 FIXED NULL, c2 FIXED NULL, c3 FIXED NULL, UNIQUE(c1,c2,c3));
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10) ON DUPLICATE KEY UPDATE c1=100,c2=100,c3=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11) ON DUPLICATE KEY UPDATE c1=100,c2=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11) ON DUPLICATE KEY UPDATE c2=100,c3=100;
SELECT * FROM t1;
c1	c2	c3
10	100	100
10	11	10
100	100	100
100	100	11
11	10	10
11	10	11
11	11	10
DROP TABLE t1;
CREATE TABLE t1(c1 NUMERIC NULL, c2 NUMERIC NULL, c3 NUMERIC NULL, UNIQUE(c1,c2,c3));
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10) ON DUPLICATE KEY UPDATE c1=100,c2=100,c3=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11) ON DUPLICATE KEY UPDATE c1=100,c2=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11) ON DUPLICATE KEY UPDATE c2=100,c3=100;
SELECT * FROM t1;
c1	c2	c3
10	100	100
10	11	10
100	100	100
100	100	11
11	10	10
11	10	11
11	11	10
DROP TABLE t1;
CREATE TABLE t1(c1 DOUBLE NULL, c2 DOUBLE NULL, c3 DOUBLE NULL, UNIQUE(c1,c2,c3));
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10) ON DUPLICATE KEY UPDATE c1=100,c2=100,c3=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11) ON DUPLICATE KEY UPDATE c1=100,c2=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11) ON DUPLICATE KEY UPDATE c2=100,c3=100;
SELECT * FROM t1;
c1	c2	c3
10	100	100
10	11	10
100	100	100
100	100	11
11	10	10
11	10	11
11	11	10
DROP TABLE t1;
CREATE TABLE t1(c1 REAL NULL, c2 REAL NULL, c3 REAL NULL, UNIQUE(c1,c2,c3));
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10) ON DUPLICATE KEY UPDATE c1=100,c2=100,c3=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11) ON DUPLICATE KEY UPDATE c1=100,c2=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11) ON DUPLICATE KEY UPDATE c2=100,c3=100;
SELECT * FROM t1;
c1	c2	c3
10	100	100
10	11	10
100	100	100
100	100	11
11	10	10
11	10	11
11	11	10
DROP TABLE t1;
CREATE TABLE t1(c1 DOUBLE PRECISION NULL, c2 DOUBLE PRECISION NULL, c3 DOUBLE PRECISION NULL, UNIQUE(c1,c2,c3));
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10) ON DUPLICATE KEY UPDATE c1=100,c2=100,c3=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11) ON DUPLICATE KEY UPDATE c1=100,c2=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11) ON DUPLICATE KEY UPDATE c2=100,c3=100;
SELECT * FROM t1;
c1	c2	c3
10	100	100
10	11	10
100	100	100
100	100	11
11	10	10
11	10	11
11	11	10
DROP TABLE t1;
CREATE TABLE t1(c1 FLOAT NULL, c2 FLOAT NULL, c3 FLOAT NULL, UNIQUE(c1,c2,c3));
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,11,10);
INSERT INTO t1 (c1,c2,c3) VALUES(11,10,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11);
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,10) ON DUPLICATE KEY UPDATE c1=100,c2=100,c3=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,10,11) ON DUPLICATE KEY UPDATE c1=100,c2=100;
INSERT INTO t1 (c1,c2,c3) VALUES(10,11,11) ON DUPLICATE KEY UPDATE c2=100,c3=100;
SELECT * FROM t1;
c1	c2	c3
10	100	100
10	11	10
100	100	100
100	100	11
11	10	10
11	10	11
11	11	10
DROP TABLE t1;
