52
52
SELECT *, VALUES(a) FROM t1;
59
59
explain extended SELECT *, VALUES(a) FROM t1;
60
60
id select_type table type possible_keys key key_len ref rows filtered Extra
61
61
1 SIMPLE t1 ALL NULL NULL NULL NULL 5 100.00
108
108
CREATE TABLE t1 (a INT, b INT, c INT, UNIQUE (A), UNIQUE(B));
109
109
INSERT t1 VALUES (1,2,10), (3,4,20);
110
INSERT t1 SELECT 5,6,30 ON DUPLICATE KEY UPDATE c=c+100;
110
INSERT t1 SELECT 5,6,30 FROM DUAL ON DUPLICATE KEY UPDATE c=c+100;
111
111
SELECT * FROM t1;
116
INSERT t1 SELECT 5,7,40 ON DUPLICATE KEY UPDATE c=c+100;
116
INSERT t1 SELECT 5,7,40 FROM DUAL ON DUPLICATE KEY UPDATE c=c+100;
117
117
SELECT * FROM t1;
122
INSERT t1 SELECT 8,4,50 ON DUPLICATE KEY UPDATE c=c+1000;
122
INSERT t1 SELECT 8,4,50 FROM DUAL ON DUPLICATE KEY UPDATE c=c+1000;
123
123
SELECT * FROM t1;
128
INSERT t1 SELECT 1,4,60 ON DUPLICATE KEY UPDATE c=c+10000;
128
INSERT t1 SELECT 1,4,60 FROM DUAL ON DUPLICATE KEY UPDATE c=c+10000;
129
129
SELECT * FROM t1;
134
INSERT t1 SELECT 1,9,70 ON DUPLICATE KEY UPDATE c=c+100000, b=4;
134
INSERT t1 SELECT 1,9,70 FROM DUAL ON DUPLICATE KEY UPDATE c=c+100000, b=4;
135
135
ERROR 23000: Duplicate entry '4' for key 'b'
136
136
SELECT * FROM t1;
163
163
SELECT *, VALUES(a) FROM t1;
172
create table t1 (a int not null unique);
172
create table t1 (a int not null unique) engine=myisam;
173
173
insert into t1 values (1),(2);
174
174
insert ignore into t1 select 1 on duplicate key update a=2;
175
175
select * from t1;
191
191
insert ignore into t1 select a from t1 on duplicate key update a=t1.a+1 ;
192
192
ERROR 23000: Column 't1.a' in field list is ambiguous
194
CREATE TEMPORARY TABLE t1 (
195
a BIGINT NOT NULL DEFAULT 0,
195
a BIGINT(20) NOT NULL DEFAULT 0,
198
198
INSERT INTO t1 ( a ) SELECT 0 ON DUPLICATE KEY UPDATE a = a + VALUES (a) ;
206
206
INSERT INTO t1 VALUES (45, 1) ON DUPLICATE KEY UPDATE b =
236
236
INSERT INTO t1 SELECT 1, COUNT(*) FROM t2 ON DUPLICATE KEY UPDATE j= a;
237
237
ERROR 42S22: Unknown column 'a' in 'field list'
238
238
DROP TABLE t1,t2;
239
SET SQL_MODE = 'TRADITIONAL';
239
240
CREATE TABLE t1 (a INT PRIMARY KEY, b INT NOT NULL);
240
241
INSERT INTO t1 (a) VALUES (1);
241
242
ERROR HY000: Field 'b' doesn't have a default value
261
SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO';
260
262
CREATE TABLE `t1` (
261
`id` int PRIMARY KEY auto_increment,
263
`id` int(11) PRIMARY KEY auto_increment,
262
264
`f1` varchar(10) NOT NULL UNIQUE
264
266
INSERT IGNORE INTO t1 (f1) VALUES ("test1")
276
278
SELECT * FROM t1;
280
282
INSERT IGNORE INTO t1 (f1) VALUES ("test2")
281
283
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
282
284
SELECT LAST_INSERT_ID();
285
287
SELECT * FROM t1;
289
291
INSERT IGNORE INTO t1 (f1) VALUES ("test3")
290
292
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);
291
293
SELECT LAST_INSERT_ID();
294
296
SELECT * FROM t1;
300
302
CREATE TABLE `t1` (
301
`id` int PRIMARY KEY auto_increment,
303
`id` int(11) PRIMARY KEY auto_increment,
302
304
`f1` varchar(10) NOT NULL UNIQUE
304
306
INSERT IGNORE INTO t1 (f1) VALUES ("test1")
322
324
CREATE TABLE `t1` (
323
`id` int PRIMARY KEY auto_increment,
325
`id` int(11) PRIMARY KEY auto_increment,
324
326
`f1` varchar(10) NOT NULL UNIQUE,
325
327
tim1 timestamp default '2003-01-01 00:00:00' on update current_timestamp
328
330
SELECT id, f1 FROM t1;
331
REPLACE INTO t1 VALUES (null,"test1",null);
333
REPLACE INTO t1 VALUES (0,"test1",null);
332
334
SELECT id, f1 FROM t1;
336
339
CREATE TABLE t1 (
337
340
id INT AUTO_INCREMENT PRIMARY KEY,
338
341
c1 CHAR(1) UNIQUE KEY,
393
396
create table t1(f1 int primary key,
394
397
f2 timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP);
395
398
insert into t1(f1) values(1);
396
399
select @stamp1:=f2 from t1;
399
402
insert into t1(f1) values(1) on duplicate key update f1=1;
400
403
select @stamp2:=f2 from t1;
403
406
select if( @stamp1 = @stamp2, "correct", "wrong");
404
407
if( @stamp1 = @stamp2, "correct", "wrong")