polardbxengine/mysql-test/suite/xengine/r/add_unique_index_inplace.re...

93 lines
3.0 KiB
Plaintext

drop table if exists t1;
CREATE TABLE t1 (a INT DEFAULT 0, b INT, PRIMARY KEY ka(a)) ENGINE=XEngine;
INSERT INTO t1 (a, b) VALUES (1, 5);
INSERT INTO t1 (a, b) VALUES (2, 6);
INSERT INTO t1 (a, b) VALUES (3, 7);
INSERT INTO t1 (a,b) VALUES (4,5);
ALTER TABLE t1 ADD UNIQUE INDEX kb(b), ALGORITHM=INPLACE;
ERROR 23000: Duplicate entry '5' for key 'kb'
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL DEFAULT '0',
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=XENGINE DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
DROP TABLE t1;
CREATE TABLE t1 (a INT DEFAULT 0, b INT, PRIMARY KEY ka(a)) ENGINE=XEngine;
INSERT INTO t1 (a, b) VALUES (1, 5);
INSERT INTO t1 (a, b) VALUES (2, 6);
INSERT INTO t1 (a, b) VALUES (3, 7);
ALTER TABLE t1 ADD UNIQUE INDEX kb(b), ALGORITHM=INPLACE;
INSERT INTO t1 (a,b) VALUES (4,5);
ERROR 23000: Duplicate entry '5' for key 'kb'
INSERT INTO t1 (a,b) VALUES (5,8);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL DEFAULT '0',
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`),
UNIQUE KEY `kb` (`b`)
) ENGINE=XENGINE DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
SELECT * FROM t1 FORCE INDEX(kb);
a b
1 5
2 6
3 7
5 8
DROP TABLE t1;
CREATE TABLE t1 (a INT DEFAULT 0, b INT, PRIMARY KEY ka(a)) ENGINE=XEngine;
INSERT INTO t1 (a, b) VALUES (1, 5);
INSERT INTO t1 (a, b) VALUES (2, NULL);
INSERT INTO t1 (a, b) VALUES (3, NULL);
ALTER TABLE t1 ADD UNIQUE INDEX kb(b), ALGORITHM=INPLACE;
INSERT INTO t1 (a, b) VALUES (4, NULL);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL DEFAULT '0',
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`),
UNIQUE KEY `kb` (`b`)
) ENGINE=XENGINE DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
SELECT COUNT(*) FROM t1 FORCE INDEX(kb);
COUNT(*)
4
DROP TABLE t1;
CREATE TABLE t1 (a INT DEFAULT 0, b INT, c INT, PRIMARY KEY ka(a)) ENGINE=XEngine;
INSERT INTO t1 (a,b,c) VALUES (1,1,NULL);
INSERT INTO t1 (a,b,c) VALUES (2,1,NULL);
INSERT INTO t1 (a,b,c) VALUES (3,1,NULL);
INSERT INTO t1 (a,b,c) VALUES (4,1,5);
ALTER TABLE t1 ADD UNIQUE INDEX kbc(b,c), ALGORITHM=INPLACE;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL DEFAULT '0',
`b` int(11) DEFAULT NULL,
`c` int(11) DEFAULT NULL,
PRIMARY KEY (`a`),
UNIQUE KEY `kbc` (`b`,`c`)
) ENGINE=XENGINE DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
SELECT COUNT(*) FROM t1 FORCE INDEX(kbc);
COUNT(*)
4
DROP TABLE t1;
CREATE TABLE t1 (a INT, b INT) ENGINE=XEngine;
INSERT INTO t1 (a, b) VALUES (1, 5);
INSERT INTO t1 (a, b) VALUES (2, 6);
INSERT INTO t1 (a, b) VALUES (3, 7);
ALTER TABLE t1 ADD UNIQUE INDEX kb(b);
INSERT INTO t1 (a, b) VALUES (4, 8);
INSERT INTO t1 (a, b) VALUES (5, 5);
ERROR 23000: Duplicate entry '5' for key 'kb'
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` int(11) DEFAULT NULL,
UNIQUE KEY `kb` (`b`)
) ENGINE=XENGINE DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
DROP TABLE t1;