mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
WL#1791 Handler: support update of primary key
This commit is contained in:
@ -1,98 +1,105 @@
|
||||
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
|
||||
CREATE TABLE t1 (
|
||||
pk1 INT NOT NULL PRIMARY KEY,
|
||||
attr1 INT NOT NULL
|
||||
attr1 INT NOT NULL,
|
||||
attr2 INT,
|
||||
attr3 VARCHAR(10)
|
||||
) ENGINE=ndbcluster;
|
||||
INSERT INTO t1 VALUES (9410,9412);
|
||||
INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9411,9413, 17, '9413');
|
||||
SELECT pk1 FROM t1;
|
||||
pk1
|
||||
9410
|
||||
9411
|
||||
SELECT * FROM t1;
|
||||
pk1 attr1
|
||||
9410 9412
|
||||
pk1 attr1 attr2 attr3
|
||||
9410 9412 NULL 9412
|
||||
9411 9413 17 9413
|
||||
SELECT t1.* FROM t1;
|
||||
pk1 attr1
|
||||
9410 9412
|
||||
pk1 attr1 attr2 attr3
|
||||
9410 9412 NULL 9412
|
||||
9411 9413 17 9413
|
||||
UPDATE t1 SET attr1=1 WHERE pk1=9410;
|
||||
SELECT * FROM t1;
|
||||
pk1 attr1
|
||||
9410 1
|
||||
pk1 attr1 attr2 attr3
|
||||
9410 1 NULL 9412
|
||||
9411 9413 17 9413
|
||||
UPDATE t1 SET pk1=2 WHERE attr1=1;
|
||||
ERROR 42000: Table 't1' uses an extension that doesn't exist in this MySQL version
|
||||
SELECT * FROM t1;
|
||||
pk1 attr1
|
||||
9410 1
|
||||
pk1 attr1 attr2 attr3
|
||||
2 1 NULL 9412
|
||||
9411 9413 17 9413
|
||||
UPDATE t1 SET pk1=pk1 + 1;
|
||||
SELECT * FROM t1;
|
||||
pk1 attr1 attr2 attr3
|
||||
9412 9413 17 9413
|
||||
3 1 NULL 9412
|
||||
DELETE FROM t1;
|
||||
SELECT * FROM t1;
|
||||
pk1 attr1
|
||||
INSERT INTO t1 VALUES (9410,9412), (9411, 9413), (9408, 8765),
|
||||
(7,8), (8,9), (9,10), (10,11), (11,12), (12,13), (13,14);
|
||||
pk1 attr1 attr2 attr3
|
||||
INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9408, 8765, NULL, '8765'),
|
||||
(7,8, NULL, NULL), (8,9, NULL, NULL), (9,10, NULL, NULL), (10,11, NULL, NULL), (11,12, NULL, NULL), (12,13, NULL, NULL), (13,14, NULL, NULL);
|
||||
UPDATE t1 SET attr1 = 9999;
|
||||
SELECT * FROM t1 ORDER BY pk1;
|
||||
pk1 attr1
|
||||
7 9999
|
||||
8 9999
|
||||
9 9999
|
||||
10 9999
|
||||
11 9999
|
||||
12 9999
|
||||
13 9999
|
||||
9408 9999
|
||||
9410 9999
|
||||
9411 9999
|
||||
pk1 attr1 attr2 attr3
|
||||
7 9999 NULL NULL
|
||||
8 9999 NULL NULL
|
||||
9 9999 NULL NULL
|
||||
10 9999 NULL NULL
|
||||
11 9999 NULL NULL
|
||||
12 9999 NULL NULL
|
||||
13 9999 NULL NULL
|
||||
9408 9999 NULL 8765
|
||||
9410 9999 NULL 9412
|
||||
UPDATE t1 SET attr1 = 9998 WHERE pk1 < 1000;
|
||||
SELECT * FROM t1 ORDER BY pk1;
|
||||
pk1 attr1
|
||||
7 9998
|
||||
8 9998
|
||||
9 9998
|
||||
10 9998
|
||||
11 9998
|
||||
12 9998
|
||||
13 9998
|
||||
9408 9999
|
||||
9410 9999
|
||||
9411 9999
|
||||
pk1 attr1 attr2 attr3
|
||||
7 9998 NULL NULL
|
||||
8 9998 NULL NULL
|
||||
9 9998 NULL NULL
|
||||
10 9998 NULL NULL
|
||||
11 9998 NULL NULL
|
||||
12 9998 NULL NULL
|
||||
13 9998 NULL NULL
|
||||
9408 9999 NULL 8765
|
||||
9410 9999 NULL 9412
|
||||
UPDATE t1 SET attr1 = 9997 WHERE attr1 = 9999;
|
||||
SELECT * FROM t1 ORDER BY pk1;
|
||||
pk1 attr1
|
||||
7 9998
|
||||
8 9998
|
||||
9 9998
|
||||
10 9998
|
||||
11 9998
|
||||
12 9998
|
||||
13 9998
|
||||
9408 9997
|
||||
9410 9997
|
||||
9411 9997
|
||||
pk1 attr1 attr2 attr3
|
||||
7 9998 NULL NULL
|
||||
8 9998 NULL NULL
|
||||
9 9998 NULL NULL
|
||||
10 9998 NULL NULL
|
||||
11 9998 NULL NULL
|
||||
12 9998 NULL NULL
|
||||
13 9998 NULL NULL
|
||||
9408 9997 NULL 8765
|
||||
9410 9997 NULL 9412
|
||||
DELETE FROM t1 WHERE pk1 = 9410;
|
||||
SELECT * FROM t1 ORDER BY pk1;
|
||||
pk1 attr1
|
||||
7 9998
|
||||
8 9998
|
||||
9 9998
|
||||
10 9998
|
||||
11 9998
|
||||
12 9998
|
||||
13 9998
|
||||
9408 9997
|
||||
9411 9997
|
||||
pk1 attr1 attr2 attr3
|
||||
7 9998 NULL NULL
|
||||
8 9998 NULL NULL
|
||||
9 9998 NULL NULL
|
||||
10 9998 NULL NULL
|
||||
11 9998 NULL NULL
|
||||
12 9998 NULL NULL
|
||||
13 9998 NULL NULL
|
||||
9408 9997 NULL 8765
|
||||
DELETE FROM t1;
|
||||
SELECT * FROM t1;
|
||||
pk1 attr1
|
||||
INSERT INTO t1 values (1, 4), (2, 4), (3, 5), (4, 4), (5, 5);
|
||||
pk1 attr1 attr2 attr3
|
||||
INSERT INTO t1 values (1, 4, NULL, NULL), (2, 4, NULL, NULL), (3, 5, NULL, NULL), (4, 4, NULL, NULL), (5, 5, NULL, NULL);
|
||||
DELETE FROM t1 WHERE attr1=4;
|
||||
SELECT * FROM t1 order by pk1;
|
||||
pk1 attr1
|
||||
3 5
|
||||
5 5
|
||||
pk1 attr1 attr2 attr3
|
||||
3 5 NULL NULL
|
||||
5 5 NULL NULL
|
||||
DELETE FROM t1;
|
||||
INSERT INTO t1 VALUES (9410,9412), (9411, 9413);
|
||||
INSERT INTO t1 VALUES (9410,9412, NULL, NULL), (9411, 9413, NULL, NULL);
|
||||
DELETE FROM t1 WHERE pk1 = 9410;
|
||||
SELECT * FROM t1;
|
||||
pk1 attr1
|
||||
9411 9413
|
||||
pk1 attr1 attr2 attr3
|
||||
9411 9413 NULL NULL
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (id INT, id2 int) engine=ndbcluster;
|
||||
INSERT INTO t1 values(3456, 7890);
|
||||
|
Reference in New Issue
Block a user