1
drop table if exists t1,t2;
2
create table t1 (a int auto_increment , primary key (a));
3
insert into t1 values (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
4
update t1 set a=a+10 where a > 34;
5
update t1 set a=a+100 where a > 0;
6
update t1 set a=a+100 where a=1 and a=2;
7
update t1 set a=b+100 where a=1 and a=2;
8
ERROR 42S22: Unknown column 'b' in 'field list'
9
update t1 set a=b+100 where c=1 and a=2;
10
ERROR 42S22: Unknown column 'c' in 'where clause'
11
update t1 set d=a+100 where a=1;
12
ERROR 42S22: Unknown column 'd' in 'field list'
54
place_id int (10) unsigned NOT NULL,
55
shows int(10) unsigned DEFAULT '0' NOT NULL,
56
ishows int(10) unsigned DEFAULT '0' NOT NULL,
57
ushows int(10) unsigned DEFAULT '0' NOT NULL,
58
clicks int(10) unsigned DEFAULT '0' NOT NULL,
59
iclicks int(10) unsigned DEFAULT '0' NOT NULL,
60
uclicks int(10) unsigned DEFAULT '0' NOT NULL,
62
PRIMARY KEY (place_id,ts)
64
INSERT INTO t1 (place_id,shows,ishows,ushows,clicks,iclicks,uclicks,ts)
65
VALUES (1,0,0,0,0,0,0,20000928174434);
66
UPDATE t1 SET shows=shows+1,ishows=ishows+1,ushows=ushows+1,clicks=clicks+1,iclicks=iclicks+1,uclicks=uclicks+1 WHERE place_id=1 AND ts>="2000-09-28 00:00:00";
67
select place_id,shows from t1;
72
lfdnr int(10) unsigned NOT NULL default '0',
73
ticket int(10) unsigned NOT NULL default '0',
74
client varchar(255) NOT NULL default '',
75
replyto varchar(255) NOT NULL default '',
76
subject varchar(100) NOT NULL default '',
77
timestamp int(10) unsigned NOT NULL default '0',
78
tstamp timestamp NOT NULL,
79
status int(3) NOT NULL default '0',
80
type varchar(15) NOT NULL default '',
81
assignment int(10) unsigned NOT NULL default '0',
82
fupcount int(4) unsigned NOT NULL default '0',
83
parent int(10) unsigned NOT NULL default '0',
84
activity int(10) unsigned NOT NULL default '0',
85
priority tinyint(1) unsigned NOT NULL default '1',
86
cc varchar(255) NOT NULL default '',
87
bcc varchar(255) NOT NULL default '',
98
INSERT INTO t1 VALUES (773,773,'','','',980257344,20010318180652,0,'Open',10,0,0,0,1,'','','','','');
99
alter table t1 change lfdnr lfdnr int(10) unsigned not null auto_increment;
100
update t1 set status=1 where type='Open';
101
select status from t1;
105
create table t1 (a int not null, b int not null, key (a));
106
insert into t1 values (1,1),(1,2),(1,3),(3,1),(3,2),(3,3),(3,1),(3,2),(3,3),(2,1),(2,2),(2,3);
108
update t1 set b=(@tmp:=@tmp+1) order by a;
109
update t1 set b=99 where a=1 order by b asc limit 1;
110
select * from t1 order by a,b;
124
update t1 set b=100 where a=1 order by b desc limit 2;
125
update t1 set a=a+10+b where a=1 order by b;
126
select * from t1 order by a,b;
140
create table t2 (a int not null, b int not null);
141
insert into t2 values (1,1),(1,2),(1,3);
142
update t1 set b=(select distinct 1 from (select * from t2) a);
145
`id_param` smallint(3) unsigned NOT NULL default '0',
146
`nom_option` char(40) NOT NULL default '',
147
`valid` tinyint(1) NOT NULL default '0',
148
KEY `id_param` (`id_param`,`nom_option`)
150
INSERT INTO t1 (id_param,nom_option,valid) VALUES (185,'600x1200',1);
151
UPDATE t1 SET nom_option='test' WHERE id_param=185 AND nom_option='600x1200' AND valid=1 LIMIT 1;
153
id_param nom_option valid
156
create table t1 (F1 VARCHAR(30), F2 VARCHAR(30), F3 VARCHAR(30), cnt int, groupid int, KEY groupid_index (groupid));
157
insert into t1 (F1,F2,F3,cnt,groupid) values ('0','0','0',1,6),
158
('0','1','2',1,5), ('0','2','0',1,3), ('1','0','1',1,2),
159
('1','2','1',1,1), ('1','2','2',1,1), ('2','0','1',2,4),
161
delete from m1 using t1 m1,t1 m2 where m1.groupid=m2.groupid and (m1.cnt < m2.cnt or m1.cnt=m2.cnt and m1.F3>m2.F3);
173
`colA` int(10) unsigned NOT NULL auto_increment,
174
`colB` int(11) NOT NULL default '0',
177
INSERT INTO t1 VALUES (4433,5424);
179
`colC` int(10) unsigned NOT NULL default '0',
180
`colA` int(10) unsigned NOT NULL default '0',
181
`colD` int(10) unsigned NOT NULL default '0',
182
`colE` int(10) unsigned NOT NULL default '0',
183
`colF` int(10) unsigned NOT NULL default '0',
184
PRIMARY KEY (`colC`,`colA`,`colD`,`colE`)
186
INSERT INTO t2 VALUES (3,4433,10005,495,500);
187
INSERT INTO t2 VALUES (3,4433,10005,496,500);
188
INSERT INTO t2 VALUES (3,4433,10009,494,500);
189
INSERT INTO t2 VALUES (3,4433,10011,494,500);
190
INSERT INTO t2 VALUES (3,4433,10005,497,500);
191
INSERT INTO t2 VALUES (3,4433,10013,489,500);
192
INSERT INTO t2 VALUES (3,4433,10005,494,500);
193
INSERT INTO t2 VALUES (3,4433,10005,493,500);
194
INSERT INTO t2 VALUES (3,4433,10005,492,500);
195
UPDATE IGNORE t2,t1 set t2.colE = t2.colE + 1,colF=0 WHERE t1.colA = t2.colA AND (t1.colB & 4096) > 0 AND (colE + 1) < colF;
197
colC colA colD colE colF
209
create table t1 (c1 int, c2 char(6), c3 int);
210
create table t2 (c1 int, c2 char(6));
211
insert into t1 values (1, "t1c2-1", 10), (2, "t1c2-2", 20);
212
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1";
213
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1" where t1.c3 = 10;
215
create table t1 (id int not null auto_increment primary key, id_str varchar(32));
216
insert into t1 (id_str) values ("test");
217
update t1 set id_str = concat(id_str, id) where id = last_insert_id();
222
create table t1 (a int, b char(255), key(a, b(20)));
223
insert into t1 values (0, '1');
224
update t1 set b = b + 1 where a = 0;
229
create table t1 (a int, b varchar(10), key b(b(5))) engine=myisam;
230
create table t2 (a int, b varchar(10)) engine=myisam;
231
insert into t1 values ( 1, 'abcd1e');
232
insert into t1 values ( 2, 'abcd2e');
233
insert into t2 values ( 1, 'abcd1e');
234
insert into t2 values ( 2, 'abcd2e');
236
Table Op Msg_type Msg_text
237
test.t1 analyze status OK
238
test.t2 analyze status OK
239
update t1, t2 set t1.a = t2.a where t2.b = t1.b;
243
create table t1(f1 int, f2 int);
244
create table t2(f3 int, f4 int);
245
create index idx on t2(f3);
246
insert into t1 values(1,0),(2,0);
247
insert into t2 values(1,1),(2,2);
248
UPDATE t1 SET t1.f2=(SELECT MAX(t2.f4) FROM t2 WHERE t2.f3=t1.f1);
254
create table t1(f1 int);
258
update t1 set f1=1 where count(*)=1;
259
ERROR HY000: Invalid use of group function
263
delete from t1 where count(*)=1;
264
ERROR HY000: Invalid use of group function
266
create table t1 ( a int, b int default 0, index (a) );
267
insert into t1 (a) values (0),(0),(0),(0),(0),(0),(0),(0);
269
select a from t1 order by a limit 1;
272
show status like 'handler_read%';
279
Handler_read_rnd_next 0
281
update t1 set a=9999 order by a limit 1;
282
update t1 set b=9999 order by a limit 1;
283
show status like 'handler_read%';
290
Handler_read_rnd_next 9
292
delete from t1 order by a limit 1;
293
show status like 'handler_read%';
300
Handler_read_rnd_next 0
302
delete from t1 order by a desc limit 1;
303
show status like 'handler_read%';
310
Handler_read_rnd_next 9
311
alter table t1 disable keys;
313
delete from t1 order by a limit 1;
314
show status like 'handler_read%';
321
Handler_read_rnd_next 9
329
update t1 set a=a+10,b=1 order by a limit 3;
330
update t1 set a=a+11,b=2 order by a limit 3;
331
update t1 set a=a+12,b=3 order by a limit 3;
332
select * from t1 order by a;
340
create table t1 (f1 date not null);
341
insert into t1 values('2000-01-01'),('0000-00-00');
342
update t1 set f1='2002-02-02' where f1 is null;
348
create table t1 (f1 int);
349
create table t2 (f2 int);
350
insert into t1 values(1),(2);
351
insert into t2 values(1),(1);
352
update t1,t2 set f1=3,f2=3 where f1=f2 and f1=1;
354
info: Rows matched: 3 Changed: 3 Warnings: 0
356
update t1 set f1=1 where f1=3;
357
update t2,t1 set f1=3,f2=3 where f1=f2 and f1=1;
359
info: Rows matched: 3 Changed: 3 Warnings: 0
361
create table t1 (a int);
362
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
363
create table t2 (a int, filler1 char(200), filler2 char(200), key(a));
364
insert into t2 select A.a + 10*B.a, 'filler','filler' from t1 A, t1 B;
366
update t2 set a=3 where a=2;
367
show status like 'handler_read%';
374
Handler_read_rnd_next 0
376
create table t1(f1 int, `*f2` int);
377
insert into t1 values (1,1);
378
update t1 set `*f2`=1;
380
create table t1(f1 int);
381
update t1 set f2=1 order by f2;
382
ERROR 42S22: Unknown column 'f2' in 'order clause'
385
request_id int unsigned NOT NULL auto_increment,
386
user_id varchar(12) default NULL,
387
time_stamp datetime NOT NULL default '0000-00-00 00:00:00',
388
ip_address varchar(15) default NULL,
389
PRIMARY KEY (request_id),
390
KEY user_id_2 (user_id,time_stamp)
392
INSERT INTO t1 (user_id) VALUES ('user1');
393
INSERT INTO t1(user_id) SELECT user_id FROM t1;
394
INSERT INTO t1(user_id) SELECT user_id FROM t1;
395
INSERT INTO t1(user_id) SELECT user_id FROM t1;
396
INSERT INTO t1(user_id) SELECT user_id FROM t1;
397
INSERT INTO t1(user_id) SELECT user_id FROM t1;
398
INSERT INTO t1(user_id) SELECT user_id FROM t1;
399
INSERT INTO t1(user_id) SELECT user_id FROM t1;
400
INSERT INTO t1(user_id) SELECT user_id FROM t1;
402
SELECT user_id FROM t1 WHERE request_id=9999999999999;
404
show status like '%Handler_read%';
411
Handler_read_rnd_next 0
412
SELECT user_id FROM t1 WHERE request_id=999999999999999999999999999999;
414
show status like '%Handler_read%';
421
Handler_read_rnd_next 0
422
UPDATE t1 SET user_id=null WHERE request_id=9999999999999;
423
show status like '%Handler_read%';
430
Handler_read_rnd_next 0
431
UPDATE t1 SET user_id=null WHERE request_id=999999999999999999999999999999;
432
show status like '%Handler_read%';
439
Handler_read_rnd_next 0
443
quux decimal( 31, 30 ),
453
SELECT @newA := 1 + a FROM t1 WHERE quux <= 0.1;
456
1 1.000000000000000000000000000000
457
2 0.100000000000000000000000000000
460
set tmp_table_size=1024;
461
create table t1 (id int, a int, key idx(a));
462
create table t2 (id int unsigned not null auto_increment primary key, a int);
463
insert into t2(a) values(1),(2),(3),(4),(5),(6),(7),(8);
464
insert into t2(a) select a from t2;
465
insert into t2(a) select a from t2;
466
insert into t2(a) select a from t2;
468
insert into t1 select * from t2;
469
select count(*) from t1 join t2 on (t1.a=t2.a);
472
update t1 join t2 on (t1.a=t2.a) set t1.id=t2.id;
474
info: Rows matched: 64 Changed: 0 Warnings: 0
475
insert into t2(a) select a from t2;
478
insert into t1 select * from t2;
479
select count(*) from t1 join t2 on (t1.a=t2.a);
482
update t1 join t2 on (t1.a=t2.a) set t1.id=t2.id;
484
info: Rows matched: 128 Changed: 0 Warnings: 0
487
select count(*) from t1 join t2 on (t1.a=t2.a);
490
update t1 join t2 on (t1.a=t2.a) set t1.id=t2.id;
492
info: Rows matched: 128 Changed: 127 Warnings: 0