mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 19:37:16 +02:00
Fix for Bug #9691 UPDATE fails on attempt to update primary key
This commit is contained in:
parent
56ea770272
commit
fd9d58c413
3 changed files with 62 additions and 22 deletions
|
|
@ -2,12 +2,32 @@ DROP TABLE IF EXISTS t1;
|
|||
CREATE TABLE t1 (
|
||||
pk1 INT NOT NULL PRIMARY KEY,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=ndbcluster;
|
||||
INSERT INTO t1 VALUES (0, 0, 1),(1,1,2),(2,2,3);
|
||||
INSERT INTO t1 VALUES (0, 1, 0),(1,2,1),(2,3,2);
|
||||
UPDATE t1 set b = c;
|
||||
select * from t1 order by pk1;
|
||||
pk1 b c
|
||||
0 1 1
|
||||
1 2 2
|
||||
2 3 3
|
||||
0 0 0
|
||||
1 1 1
|
||||
2 2 2
|
||||
UPDATE t1 set pk1 = 4 where pk1 = 1;
|
||||
select * from t1 order by pk1;
|
||||
pk1 b c
|
||||
0 0 0
|
||||
2 2 2
|
||||
4 1 1
|
||||
UPDATE t1 set pk1 = 1, c = 2 where pk1 = 4;
|
||||
ERROR 23000: Duplicate entry '1' for key 1
|
||||
select * from t1 order by pk1;
|
||||
pk1 b c
|
||||
0 0 0
|
||||
2 2 2
|
||||
4 1 1
|
||||
UPDATE t1 set pk1 = pk1 + 10;
|
||||
select * from t1 order by pk1;
|
||||
pk1 b c
|
||||
10 0 0
|
||||
12 2 2
|
||||
14 1 1
|
||||
DROP TABLE IF EXISTS t1;
|
||||
|
|
|
|||
|
|
@ -14,9 +14,20 @@ DROP TABLE IF EXISTS t1;
|
|||
CREATE TABLE t1 (
|
||||
pk1 INT NOT NULL PRIMARY KEY,
|
||||
b INT NOT NULL,
|
||||
c INT NOT NULL
|
||||
c INT NOT NULL UNIQUE
|
||||
) ENGINE=ndbcluster;
|
||||
|
||||
INSERT INTO t1 VALUES (0, 0, 1),(1,1,2),(2,2,3);
|
||||
INSERT INTO t1 VALUES (0, 1, 0),(1,2,1),(2,3,2);
|
||||
UPDATE t1 set b = c;
|
||||
select * from t1 order by pk1;
|
||||
UPDATE t1 set pk1 = 4 where pk1 = 1;
|
||||
select * from t1 order by pk1;
|
||||
-- error 1062
|
||||
UPDATE t1 set pk1 = 1, c = 2 where pk1 = 4;
|
||||
select * from t1 order by pk1;
|
||||
UPDATE t1 set pk1 = pk1 + 10;
|
||||
select * from t1 order by pk1;
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue