56
56
CREATE TABLE t1 (a INT, b INT, c INT, UNIQUE (A), UNIQUE(B));
57
57
INSERT t1 VALUES (1,2,10), (3,4,20);
58
INSERT t1 SELECT 5,6,30 FROM DUAL ON DUPLICATE KEY UPDATE c=c+100;
60
INSERT t1 SELECT 5,7,40 FROM DUAL ON DUPLICATE KEY UPDATE c=c+100;
62
INSERT t1 SELECT 8,4,50 FROM DUAL ON DUPLICATE KEY UPDATE c=c+1000;
64
INSERT t1 SELECT 1,4,60 FROM DUAL ON DUPLICATE KEY UPDATE c=c+10000;
58
INSERT t1 SELECT 5,6,30 ON DUPLICATE KEY UPDATE c=c+100;
60
INSERT t1 SELECT 5,7,40 ON DUPLICATE KEY UPDATE c=c+100;
62
INSERT t1 SELECT 8,4,50 ON DUPLICATE KEY UPDATE c=c+1000;
64
INSERT t1 SELECT 1,4,60 ON DUPLICATE KEY UPDATE c=c+10000;
66
66
-- error ER_DUP_ENTRY
67
INSERT t1 SELECT 1,9,70 FROM DUAL ON DUPLICATE KEY UPDATE c=c+100000, b=4;
67
INSERT t1 SELECT 1,9,70 ON DUPLICATE KEY UPDATE c=c+100000, b=4;
70
70
INSERT t1 VALUES (1,2,10), (3,4,20);
167
167
# Bug #26261: Missing default value isn't noticed in
168
168
# insert ... on duplicate key update
170
SET SQL_MODE = 'TRADITIONAL';
172
170
CREATE TABLE t1 (a INT PRIMARY KEY, b INT NOT NULL);
200
198
# Bug#23233: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE in the
201
199
# NO_AUTO_VALUE_ON_ZERO mode.
203
SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO';
204
201
CREATE TABLE `t1` (
205
`id` int(11) PRIMARY KEY auto_increment,
202
`id` int PRIMARY KEY auto_increment,
206
203
`f1` varchar(10) NOT NULL UNIQUE
208
205
INSERT IGNORE INTO t1 (f1) VALUES ("test1")
224
221
SELECT * FROM t1;
226
223
CREATE TABLE `t1` (
227
`id` int(11) PRIMARY KEY auto_increment,
224
`id` int PRIMARY KEY auto_increment,
228
225
`f1` varchar(10) NOT NULL UNIQUE
230
227
INSERT IGNORE INTO t1 (f1) VALUES ("test1")
237
234
SELECT * FROM t1;
239
236
CREATE TABLE `t1` (
240
`id` int(11) PRIMARY KEY auto_increment,
237
`id` int PRIMARY KEY auto_increment,
241
238
`f1` varchar(10) NOT NULL UNIQUE,
242
239
tim1 timestamp default '2003-01-01 00:00:00' on update current_timestamp