--disable_warnings
DROP TABLE IF EXISTS t1,t2;
--enable_warnings
CREATE TABLE t1(c1 TINYINT NOT NULL);
CREATE TABLE t2(c1 TINYINT NOT NULL PRIMARY KEY);
INSERT INTO t1 (c1) VALUES(0),(1),(2),(3),(3),(4),(4),(5);
--error ER_DUP_ENTRY

INSERT INTO t2 SELECT * FROM t1;

TRUNCATE TABLE t2;
--error ER_DUP_ENTRY

INSERT INTO t2 SELECT * FROM t1 WHERE c1 >= 3;

TRUNCATE TABLE t2;
DROP TABLE t1,t2;
CREATE TABLE t1(c1 SMALLINT NOT NULL);
CREATE TABLE t2(c1 SMALLINT NOT NULL PRIMARY KEY);
INSERT INTO t1 (c1) VALUES(0),(1),(2),(3),(3),(4),(4),(5);
--error ER_DUP_ENTRY

INSERT INTO t2 SELECT * FROM t1;

TRUNCATE TABLE t2;
--error ER_DUP_ENTRY

INSERT INTO t2 SELECT * FROM t1 WHERE c1 >= 3;

TRUNCATE TABLE t2;
DROP TABLE t1,t2;
CREATE TABLE t1(c1 MEDIUMINT NOT NULL);
CREATE TABLE t2(c1 MEDIUMINT NOT NULL PRIMARY KEY);
INSERT INTO t1 (c1) VALUES(0),(1),(2),(3),(3),(4),(4),(5);
--error ER_DUP_ENTRY

INSERT INTO t2 SELECT * FROM t1;

TRUNCATE TABLE t2;
--error ER_DUP_ENTRY

INSERT INTO t2 SELECT * FROM t1 WHERE c1 >= 3;

TRUNCATE TABLE t2;
DROP TABLE t1,t2;
CREATE TABLE t1(c1 INT NOT NULL);
CREATE TABLE t2(c1 INT NOT NULL PRIMARY KEY);
INSERT INTO t1 (c1) VALUES(0),(1),(2),(3),(3),(4),(4),(5);
--error ER_DUP_ENTRY

INSERT INTO t2 SELECT * FROM t1;

TRUNCATE TABLE t2;
--error ER_DUP_ENTRY

INSERT INTO t2 SELECT * FROM t1 WHERE c1 >= 3;

TRUNCATE TABLE t2;
DROP TABLE t1,t2;
CREATE TABLE t1(c1 INTEGER NOT NULL);
CREATE TABLE t2(c1 INTEGER NOT NULL PRIMARY KEY);
INSERT INTO t1 (c1) VALUES(0),(1),(2),(3),(3),(4),(4),(5);
--error ER_DUP_ENTRY

INSERT INTO t2 SELECT * FROM t1;

TRUNCATE TABLE t2;
--error ER_DUP_ENTRY

INSERT INTO t2 SELECT * FROM t1 WHERE c1 >= 3;

TRUNCATE TABLE t2;
DROP TABLE t1,t2;
CREATE TABLE t1(c1 BIGINT NOT NULL);
CREATE TABLE t2(c1 BIGINT NOT NULL PRIMARY KEY);
INSERT INTO t1 (c1) VALUES(0),(1),(2),(3),(3),(4),(4),(5);
--error ER_DUP_ENTRY

INSERT INTO t2 SELECT * FROM t1;

TRUNCATE TABLE t2;
--error ER_DUP_ENTRY

INSERT INTO t2 SELECT * FROM t1 WHERE c1 >= 3;

TRUNCATE TABLE t2;
DROP TABLE t1,t2;

