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 NOT NULL,
55
shows int DEFAULT '0' NOT NULL,
56
ishows int DEFAULT '0' NOT NULL,
57
ushows int DEFAULT '0' NOT NULL,
58
clicks int DEFAULT '0' NOT NULL,
59
iclicks int DEFAULT '0' NOT NULL,
60
uclicks int 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 NOT NULL default '0',
73
ticket int 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 NOT NULL default '0',
78
tstamp timestamp NOT NULL,
79
status int NOT NULL default '0',
80
type varchar(15) NOT NULL default '',
81
assignment int NOT NULL default '0',
82
fupcount int NOT NULL default '0',
83
parent int NOT NULL default '0',
84
activity int NOT NULL default '0',
85
priority int 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 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` int NOT NULL default '0',
146
`nom_option` char(40) NOT NULL default '',
147
`valid` int 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);
172
create table t1 (c1 int, c2 char(6), c3 int);
173
create table t2 (c1 int, c2 char(6));
174
insert into t1 values (1, "t1c2-1", 10), (2, "t1c2-2", 20);
175
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1";
176
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1" where t1.c3 = 10;
178
create table t1 (id int not null auto_increment primary key, id_str varchar(32));
179
insert into t1 (id_str) values ("test");
180
update t1 set id_str = concat(id_str, id) where id = last_insert_id();
185
create table t1 (a int, b char(255), key(a, b(20)));
186
insert into t1 values (0, '1');
187
update t1 set b = b + 1 where a = 0;
192
create table t1 (a int, b varchar(10), key b(b(5))) engine=myisam;
193
create table t2 (a int, b varchar(10)) engine=myisam;
194
insert into t1 values ( 1, 'abcd1e');
195
insert into t1 values ( 2, 'abcd2e');
196
insert into t2 values ( 1, 'abcd1e');
197
insert into t2 values ( 2, 'abcd2e');
199
Table Op Msg_type Msg_text
200
test.t1 analyze status OK
201
test.t2 analyze status OK
202
update t1, t2 set t1.a = t2.a where t2.b = t1.b;
206
create table t1(f1 int, f2 int);
207
create table t2(f3 int, f4 int);
208
create index idx on t2(f3);
209
insert into t1 values(1,0),(2,0);
210
insert into t2 values(1,1),(2,2);
211
UPDATE t1 SET t1.f2=(SELECT MAX(t2.f4) FROM t2 WHERE t2.f3=t1.f1);
217
create table t1(f1 int);
221
update t1 set f1=1 where count(*)=1;
222
ERROR HY000: Invalid use of group function
226
delete from t1 where count(*)=1;
227
ERROR HY000: Invalid use of group function
229
create table t1 ( a int, b int default 0, index (a) );
230
insert into t1 (a) values (0),(0),(0),(0),(0),(0),(0),(0);
232
select a from t1 order by a limit 1;
235
show status like 'handler_read%';
242
Handler_read_rnd_next 0
244
update t1 set a=9999 order by a limit 1;
245
update t1 set b=9999 order by a limit 1;
246
show status like 'handler_read%';
253
Handler_read_rnd_next 0
255
delete from t1 order by a limit 1;
256
show status like 'handler_read%';
263
Handler_read_rnd_next 0
265
delete from t1 order by a desc limit 1;
266
show status like 'handler_read%';
273
Handler_read_rnd_next 0
274
alter table t1 disable keys;
276
Note 1031 Table storage engine for 't1' doesn't have this option
278
delete from t1 order by a limit 1;
279
show status like 'handler_read%';
286
Handler_read_rnd_next 0
294
update t1 set a=a+10,b=1 order by a limit 3;
295
update t1 set a=a+11,b=2 order by a limit 3;
296
update t1 set a=a+12,b=3 order by a limit 3;
297
select * from t1 order by a;
305
create table t1 (f1 date not null);
306
insert into t1 values('2000-01-01'),('0000-00-00');
307
update t1 set f1='2002-02-02' where f1 is null;
313
create table t1 (f1 int);
314
create table t2 (f2 int);
315
insert into t1 values(1),(2);
316
insert into t2 values(1),(1);
317
update t1,t2 set f1=3,f2=3 where f1=f2 and f1=1;
319
info: Rows matched: 3 Changed: 3 Warnings: 0
321
update t1 set f1=1 where f1=3;
322
update t2,t1 set f1=3,f2=3 where f1=f2 and f1=1;
324
info: Rows matched: 3 Changed: 3 Warnings: 0
326
create table t1 (a int);
327
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
328
create table t2 (a int, filler1 char(200), filler2 char(200), key(a));
329
insert into t2 select A.a + 10*B.a, 'filler','filler' from t1 A, t1 B;
331
update t2 set a=3 where a=2;
332
show status like 'handler_read%';
339
Handler_read_rnd_next 0
341
create table t1(f1 int, `*f2` int);
342
insert into t1 values (1,1);
343
update t1 set `*f2`=1;
345
create table t1(f1 int);
346
update t1 set f2=1 order by f2;
347
ERROR 42S22: Unknown column 'f2' in 'order clause'
350
request_id int NOT NULL auto_increment,
351
user_id varchar(12) default NULL,
352
time_stamp datetime NOT NULL default '0000-00-00 00:00:00',
353
ip_address varchar(15) default NULL,
354
PRIMARY KEY (request_id),
355
KEY user_id_2 (user_id,time_stamp)
357
INSERT INTO t1 (user_id) VALUES ('user1');
358
INSERT INTO t1(user_id) SELECT user_id FROM t1;
359
INSERT INTO t1(user_id) SELECT user_id FROM t1;
360
INSERT INTO t1(user_id) SELECT user_id FROM t1;
361
INSERT INTO t1(user_id) SELECT user_id FROM t1;
362
INSERT INTO t1(user_id) SELECT user_id FROM t1;
363
INSERT INTO t1(user_id) SELECT user_id FROM t1;
364
INSERT INTO t1(user_id) SELECT user_id FROM t1;
365
INSERT INTO t1(user_id) SELECT user_id FROM t1;
367
SELECT user_id FROM t1 WHERE request_id=9999999999999;
369
show status like '%Handler_read%';
376
Handler_read_rnd_next 0
377
SELECT user_id FROM t1 WHERE request_id=999999999999999999999999999999;
379
show status like '%Handler_read%';
386
Handler_read_rnd_next 0
387
UPDATE t1 SET user_id=null WHERE request_id=9999999999999;
388
show status like '%Handler_read%';
395
Handler_read_rnd_next 0
396
UPDATE t1 SET user_id=null WHERE request_id=999999999999999999999999999999;
397
show status like '%Handler_read%';
404
Handler_read_rnd_next 0
408
quux decimal( 31, 30 ),
418
SELECT @newA := 1 + a FROM t1 WHERE quux <= 0.1;
421
1 1.000000000000000000000000000000
422
2 0.100000000000000000000000000000
425
set tmp_table_size=1024;
426
create table t1 (id int, a int, key idx(a));
427
create table t2 (id int not null auto_increment primary key, a int);
428
insert into t2(a) values(1),(2),(3),(4),(5),(6),(7),(8);
429
insert into t2(a) select a from t2;
430
insert into t2(a) select a from t2;
431
insert into t2(a) select a from t2;
433
insert into t1 select * from t2;
434
select count(*) from t1 join t2 on (t1.a=t2.a);
437
update t1 join t2 on (t1.a=t2.a) set t1.id=t2.id;
439
info: Rows matched: 64 Changed: 0 Warnings: 0
440
insert into t2(a) select a from t2;
443
insert into t1 select * from t2;
444
select count(*) from t1 join t2 on (t1.a=t2.a);
447
update t1 join t2 on (t1.a=t2.a) set t1.id=t2.id;
449
info: Rows matched: 128 Changed: 0 Warnings: 0
452
select count(*) from t1 join t2 on (t1.a=t2.a);
455
update t1 join t2 on (t1.a=t2.a) set t1.id=t2.id;
457
info: Rows matched: 128 Changed: 127 Warnings: 0