2002-12-02 20:38:00 +01:00
|
|
|
DROP TABLE IF EXISTS t1;
|
|
|
|
CREATE TABLE t1 (a INT, b INT, c INT, UNIQUE (A), UNIQUE(B));
|
|
|
|
INSERT t1 VALUES (1,2,10), (3,4,20);
|
2002-12-02 22:04:26 +01:00
|
|
|
INSERT t1 VALUES (5,6,30) ON DUPLICATE KEY UPDATE c=c+100;
|
2002-12-02 20:38:00 +01:00
|
|
|
SELECT * FROM t1;
|
|
|
|
a b c
|
|
|
|
1 2 10
|
|
|
|
3 4 20
|
|
|
|
5 6 30
|
2002-12-02 22:04:26 +01:00
|
|
|
INSERT t1 VALUES (5,7,40) ON DUPLICATE KEY UPDATE c=c+100;
|
2002-12-02 20:38:00 +01:00
|
|
|
SELECT * FROM t1;
|
|
|
|
a b c
|
|
|
|
1 2 10
|
|
|
|
3 4 20
|
|
|
|
5 6 130
|
2002-12-02 22:04:26 +01:00
|
|
|
INSERT t1 VALUES (8,4,50) ON DUPLICATE KEY UPDATE c=c+1000;
|
2002-12-02 20:38:00 +01:00
|
|
|
SELECT * FROM t1;
|
|
|
|
a b c
|
|
|
|
1 2 10
|
|
|
|
3 4 1020
|
|
|
|
5 6 130
|
2002-12-02 22:04:26 +01:00
|
|
|
INSERT t1 VALUES (1,4,60) ON DUPLICATE KEY UPDATE c=c+10000;
|
2002-12-02 20:38:00 +01:00
|
|
|
SELECT * FROM t1;
|
|
|
|
a b c
|
|
|
|
1 2 10010
|
|
|
|
3 4 1020
|
|
|
|
5 6 130
|
2002-12-02 22:04:26 +01:00
|
|
|
INSERT t1 VALUES (1,9,70) ON DUPLICATE KEY UPDATE c=c+100000, b=4;
|
2002-12-02 20:38:00 +01:00
|
|
|
Duplicate entry '4' for key 2
|
|
|
|
SELECT * FROM t1;
|
|
|
|
a b c
|
|
|
|
1 2 10010
|
|
|
|
3 4 1020
|
|
|
|
5 6 130
|
|
|
|
TRUNCATE TABLE t1;
|
|
|
|
INSERT t1 VALUES (1,2,10), (3,4,20);
|
2002-12-02 22:04:26 +01:00
|
|
|
INSERT t1 VALUES (5,6,30), (7,4,40), (8,9,60) ON DUPLICATE KEY UPDATE c=c+100;
|
2002-12-02 20:38:00 +01:00
|
|
|
SELECT * FROM t1;
|
|
|
|
a b c
|
|
|
|
1 2 10
|
|
|
|
3 4 120
|
|
|
|
5 6 30
|
|
|
|
8 9 60
|
2002-12-02 22:04:26 +01:00
|
|
|
INSERT t1 SET a=5 ON DUPLICATE KEY UPDATE b=0;
|
2002-12-02 21:12:25 +01:00
|
|
|
SELECT * FROM t1;
|
|
|
|
a b c
|
|
|
|
1 2 10
|
|
|
|
3 4 120
|
|
|
|
5 0 30
|
|
|
|
8 9 60
|
2003-05-03 01:16:56 +02:00
|
|
|
INSERT t1 VALUES (2,1,11), (7,4,40) ON DUPLICATE KEY UPDATE c=c+VALUES(a);
|
|
|
|
SELECT *, VALUES(a) FROM t1;
|
|
|
|
a b c VALUES(a)
|
|
|
|
1 2 10 NULL
|
|
|
|
3 4 127 NULL
|
|
|
|
5 0 30 NULL
|
|
|
|
8 9 60 NULL
|
|
|
|
2 1 11 NULL
|
2002-12-02 20:38:00 +01:00
|
|
|
DROP TABLE t1;
|