~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/r/mix2_myisam.result

  • Committer: Monty Taylor
  • Date: 2008-10-27 23:19:48 UTC
  • mto: (520.4.12 merge-innodb-plugin)
  • mto: This revision was merged to the branch mainline in revision 563.
  • Revision ID: monty@inaugust.com-20081027231948-3kl6ss04plbakqcr
Split some more things out of common_includes.h.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
SET SESSION STORAGE_ENGINE = MEMORY;
2
 
drop table if exists t1,t2,t3,t4;
3
 
drop database if exists mysqltest;
4
 
create table t1 (id int not null auto_increment, code int not null, name char(20) not null, primary key (id), key (code), unique (name)) engine=MyISAM;
5
 
insert into t1 (code, name) values (1, 'Tim'), (1, 'Monty'), (2, 'David'), (2, 'Erik'), (3, 'Sasha'), (3, 'Jeremy'), (4, 'Matt');
6
 
select id, code, name from t1 order by id;
7
 
id      code    name
8
 
1       1       Tim
9
 
2       1       Monty
10
 
3       2       David
11
 
4       2       Erik
12
 
5       3       Sasha
13
 
6       3       Jeremy
14
 
7       4       Matt
15
 
update ignore t1 set id = 8, name = 'Sinisa' where id < 3;
16
 
select id, code, name from t1 order by id;
17
 
id      code    name
18
 
2       1       Monty
19
 
3       2       David
20
 
4       2       Erik
21
 
5       3       Sasha
22
 
6       3       Jeremy
23
 
7       4       Matt
24
 
8       1       Sinisa
25
 
update ignore t1 set id = id + 10, name = 'Ralph' where id < 4;
26
 
select id, code, name from t1 order by id;
27
 
id      code    name
28
 
3       2       David
29
 
4       2       Erik
30
 
5       3       Sasha
31
 
6       3       Jeremy
32
 
7       4       Matt
33
 
8       1       Sinisa
34
 
12      1       Ralph
35
 
drop table t1;
36
 
CREATE TABLE t1 (
37
 
id int NOT NULL auto_increment,
38
 
parent_id int DEFAULT '0' NOT NULL,
39
 
level int DEFAULT '0' NOT NULL,
40
 
PRIMARY KEY (id),
41
 
KEY parent_id (parent_id),
42
 
KEY level (level)
43
 
) engine=MyISAM;
44
 
INSERT INTO t1 VALUES (1,0,0),(3,1,1),(4,1,1),(8,2,2),(9,2,2),(17,3,2),(22,4,2),(24,4,2),(28,5,2),(29,5,2),(30,5,2),(31,6,2),(32,6,2),(33,6,2),(203,7,2),(202,7,2),(20,3,2),(157,0,0),(193,5,2),(40,7,2),(2,1,1),(15,2,2),(6,1,1),(34,6,2),(35,6,2),(16,3,2),(7,1,1),(36,7,2),(18,3,2),(26,5,2),(27,5,2),(183,4,2),(38,7,2),(25,5,2),(37,7,2),(21,4,2),(19,3,2),(5,1,1),(179,5,2);
45
 
update t1 set parent_id=parent_id+100;
46
 
select * from t1 where parent_id=102;
47
 
id      parent_id       level
48
 
8       102     2
49
 
9       102     2
50
 
15      102     2
51
 
update t1 set id=id+1000;
52
 
update t1 set id=1024 where id=1009;
53
 
Got one of the listed errors
54
 
select * from t1;
55
 
id      parent_id       level
56
 
1001    100     0
57
 
1003    101     1
58
 
1004    101     1
59
 
1008    102     2
60
 
1009    102     2
61
 
1017    103     2
62
 
1022    104     2
63
 
1024    104     2
64
 
1028    105     2
65
 
1029    105     2
66
 
1030    105     2
67
 
1031    106     2
68
 
1032    106     2
69
 
1033    106     2
70
 
1203    107     2
71
 
1202    107     2
72
 
1020    103     2
73
 
1157    100     0
74
 
1193    105     2
75
 
1040    107     2
76
 
1002    101     1
77
 
1015    102     2
78
 
1006    101     1
79
 
1034    106     2
80
 
1035    106     2
81
 
1016    103     2
82
 
1007    101     1
83
 
1036    107     2
84
 
1018    103     2
85
 
1026    105     2
86
 
1027    105     2
87
 
1183    104     2
88
 
1038    107     2
89
 
1025    105     2
90
 
1037    107     2
91
 
1021    104     2
92
 
1019    103     2
93
 
1005    101     1
94
 
1179    105     2
95
 
update ignore t1 set id=id+1;
96
 
select * from t1;
97
 
id      parent_id       level
98
 
1001    100     0
99
 
1003    101     1
100
 
1004    101     1
101
 
1008    102     2
102
 
1010    102     2
103
 
1017    103     2
104
 
1023    104     2
105
 
1024    104     2
106
 
1028    105     2
107
 
1029    105     2
108
 
1030    105     2
109
 
1031    106     2
110
 
1032    106     2
111
 
1033    106     2
112
 
1204    107     2
113
 
1203    107     2
114
 
1020    103     2
115
 
1158    100     0
116
 
1194    105     2
117
 
1041    107     2
118
 
1002    101     1
119
 
1015    102     2
120
 
1006    101     1
121
 
1034    106     2
122
 
1035    106     2
123
 
1016    103     2
124
 
1007    101     1
125
 
1036    107     2
126
 
1018    103     2
127
 
1026    105     2
128
 
1027    105     2
129
 
1184    104     2
130
 
1039    107     2
131
 
1025    105     2
132
 
1038    107     2
133
 
1022    104     2
134
 
1019    103     2
135
 
1005    101     1
136
 
1180    105     2
137
 
update ignore t1 set id=1023 where id=1010;
138
 
select * from t1 where parent_id=102;
139
 
id      parent_id       level
140
 
1008    102     2
141
 
1010    102     2
142
 
1015    102     2
143
 
explain select level from t1 where level=1;
144
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
145
 
1       SIMPLE  t1      ref     level   level   4       const   #       Using index
146
 
explain select level,id from t1 where level=1;
147
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
148
 
1       SIMPLE  t1      ref     level   level   4       const   #       
149
 
explain select level,id,parent_id from t1 where level=1;
150
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
151
 
1       SIMPLE  t1      ref     level   level   4       const   #       
152
 
select level,id from t1 where level=1;
153
 
level   id
154
 
1       1003
155
 
1       1004
156
 
1       1002
157
 
1       1006
158
 
1       1007
159
 
1       1005
160
 
select level,id,parent_id from t1 where level=1;
161
 
level   id      parent_id
162
 
1       1003    101
163
 
1       1004    101
164
 
1       1002    101
165
 
1       1006    101
166
 
1       1007    101
167
 
1       1005    101
168
 
optimize table t1;
169
 
Table   Op      Msg_type        Msg_text
170
 
test.t1 optimize        status  OK
171
 
show keys from t1;
172
 
Table   Non_unique      Key_name        Seq_in_index    Column_name     Collation       Cardinality     Sub_part        Packed  Null    Index_type      Comment Index_Comment
173
 
t1      0       PRIMARY 1       id      A       #       NULL    NULL            BTREE           
174
 
t1      1       parent_id       1       parent_id       A       #       NULL    NULL            BTREE           
175
 
t1      1       level   1       level   A       #       NULL    NULL            BTREE           
176
 
drop table t1;
177
 
CREATE TABLE t1 (
178
 
gesuchnr int DEFAULT '0' NOT NULL,
179
 
benutzer_id int DEFAULT '0' NOT NULL,
180
 
PRIMARY KEY (gesuchnr,benutzer_id)
181
 
) engine=MyISAM;
182
 
replace into t1 (gesuchnr,benutzer_id) values (2,1);
183
 
replace into t1 (gesuchnr,benutzer_id) values (1,1);
184
 
replace into t1 (gesuchnr,benutzer_id) values (1,1);
185
 
select * from t1;
186
 
gesuchnr        benutzer_id
187
 
1       1
188
 
2       1
189
 
drop table t1;
190
 
create table t1 (a int) engine=MyISAM;
191
 
insert into t1 values (1), (2);
192
 
optimize table t1;
193
 
Table   Op      Msg_type        Msg_text
194
 
test.t1 optimize        status  OK
195
 
delete from t1 where a = 1;
196
 
select * from t1;
197
 
a
198
 
2
199
 
check table t1;
200
 
Table   Op      Msg_type        Msg_text
201
 
test.t1 check   status  OK
202
 
drop table t1;
203
 
create table t1 (a int,b varchar(20)) engine=MyISAM;
204
 
insert into t1 values (1,""), (2,"testing");
205
 
delete from t1 where a = 1;
206
 
select * from t1;
207
 
a       b
208
 
2       testing
209
 
create index skr on t1 (a);
210
 
insert into t1 values (3,""), (4,"testing");
211
 
analyze table t1;
212
 
Table   Op      Msg_type        Msg_text
213
 
test.t1 analyze status  OK
214
 
show keys from t1;
215
 
Table   Non_unique      Key_name        Seq_in_index    Column_name     Collation       Cardinality     Sub_part        Packed  Null    Index_type      Comment Index_Comment
216
 
t1      1       skr     1       a       A       #       NULL    NULL    YES     BTREE           
217
 
drop table t1;
218
 
create table t1 (a int,b varchar(20),key(a)) engine=MyISAM;
219
 
insert into t1 values (1,""), (2,"testing");
220
 
select * from t1 where a = 1;
221
 
a       b
222
 
1       
223
 
drop table t1;
224
 
CREATE TABLE t1 (
225
 
user_id int DEFAULT '0' NOT NULL,
226
 
name varchar(100),
227
 
phone varchar(100),
228
 
ref_email varchar(100) DEFAULT '' NOT NULL,
229
 
detail varchar(200),
230
 
PRIMARY KEY (user_id,ref_email)
231
 
)engine=MyISAM;
232
 
INSERT INTO t1 VALUES (10292,'sanjeev','29153373','sansh777@hotmail.com','xxx'),(10292,'shirish','2333604','shirish@yahoo.com','ddsds'),(10292,'sonali','323232','sonali@bolly.com','filmstar');
233
 
select * from t1 where user_id=10292;
234
 
user_id name    phone   ref_email       detail
235
 
10292   sanjeev 29153373        sansh777@hotmail.com    xxx
236
 
10292   shirish 2333604 shirish@yahoo.com       ddsds
237
 
10292   sonali  323232  sonali@bolly.com        filmstar
238
 
INSERT INTO t1 VALUES (10291,'sanjeev','29153373','sansh777@hotmail.com','xxx'),(10293,'shirish','2333604','shirish@yahoo.com','ddsds');
239
 
select * from t1 where user_id=10292;
240
 
user_id name    phone   ref_email       detail
241
 
10292   sanjeev 29153373        sansh777@hotmail.com    xxx
242
 
10292   shirish 2333604 shirish@yahoo.com       ddsds
243
 
10292   sonali  323232  sonali@bolly.com        filmstar
244
 
select * from t1 where user_id>=10292;
245
 
user_id name    phone   ref_email       detail
246
 
10292   sanjeev 29153373        sansh777@hotmail.com    xxx
247
 
10292   shirish 2333604 shirish@yahoo.com       ddsds
248
 
10292   sonali  323232  sonali@bolly.com        filmstar
249
 
10293   shirish 2333604 shirish@yahoo.com       ddsds
250
 
select * from t1 where user_id>10292;
251
 
user_id name    phone   ref_email       detail
252
 
10293   shirish 2333604 shirish@yahoo.com       ddsds
253
 
select * from t1 where user_id<10292;
254
 
user_id name    phone   ref_email       detail
255
 
10291   sanjeev 29153373        sansh777@hotmail.com    xxx
256
 
drop table t1;
257
 
CREATE TABLE t1 (a int not null, b int not null,c int not null,
258
 
key(a),primary key(a,b), unique(c),key(a),unique(b)) ENGINE = MyISAM;
259
 
show index from t1;
260
 
Table   Non_unique      Key_name        Seq_in_index    Column_name     Collation       Cardinality     Sub_part        Packed  Null    Index_type      Comment Index_Comment
261
 
t1      0       PRIMARY 1       a       A       #       NULL    NULL            BTREE           
262
 
t1      0       PRIMARY 2       b       A       #       NULL    NULL            BTREE           
263
 
t1      0       c       1       c       A       #       NULL    NULL            BTREE           
264
 
t1      0       b       1       b       A       #       NULL    NULL            BTREE           
265
 
t1      1       a       1       a       A       #       NULL    NULL            BTREE           
266
 
t1      1       a_2     1       a       A       #       NULL    NULL            BTREE           
267
 
drop table t1;
268
 
create table t1 (col1 int not null, col2 char(4) not null, primary key(col1)) ENGINE = MEMORY;
269
 
alter table t1 engine=MyISAM;
270
 
insert into t1 values ('1','1'),('5','2'),('2','3'),('3','4'),('4','4');
271
 
select * from t1;
272
 
col1    col2
273
 
1       1
274
 
5       2
275
 
2       3
276
 
3       4
277
 
4       4
278
 
update t1 set col2='7' where col1='4';
279
 
select * from t1;
280
 
col1    col2
281
 
1       1
282
 
5       2
283
 
2       3
284
 
3       4
285
 
4       7
286
 
alter table t1 add co3 int not null;
287
 
select * from t1;
288
 
col1    col2    co3
289
 
1       1       0
290
 
5       2       0
291
 
2       3       0
292
 
3       4       0
293
 
4       7       0
294
 
update t1 set col2='9' where col1='2';
295
 
select * from t1;
296
 
col1    col2    co3
297
 
1       1       0
298
 
5       2       0
299
 
2       9       0
300
 
3       4       0
301
 
4       7       0
302
 
drop table t1;
303
 
create table t1 (a int not null , b int, primary key (a)) engine = MyISAM;
304
 
create table t2 (a int not null , b int, primary key (a)) engine = MEMORY;
305
 
insert into t1 VALUES (1,3) , (2,3), (3,3);
306
 
select * from t1;
307
 
a       b
308
 
1       3
309
 
2       3
310
 
3       3
311
 
insert into t2 select * from t1;
312
 
select * from t2;
313
 
a       b
314
 
1       3
315
 
2       3
316
 
3       3
317
 
delete from t1 where b = 3;
318
 
select * from t1;
319
 
a       b
320
 
insert into t1 select * from t2;
321
 
select * from t1;
322
 
a       b
323
 
3       3
324
 
2       3
325
 
1       3
326
 
select * from t2;
327
 
a       b
328
 
1       3
329
 
2       3
330
 
3       3
331
 
drop table t1,t2;
332
 
CREATE TABLE t1 (
333
 
id int NOT NULL auto_increment,
334
 
ggid varchar(32) binary DEFAULT '' NOT NULL,
335
 
email varchar(64) DEFAULT '' NOT NULL,
336
 
passwd varchar(32) binary DEFAULT '' NOT NULL,
337
 
PRIMARY KEY (id),
338
 
UNIQUE ggid (ggid)
339
 
) ENGINE=MyISAM;
340
 
insert into t1 (ggid,passwd) values ('test1','xxx');
341
 
insert into t1 (ggid,passwd) values ('test2','yyy');
342
 
insert into t1 (ggid,passwd) values ('test2','this will fail');
343
 
ERROR 23000: Duplicate entry 'test2' for key 'ggid'
344
 
insert into t1 (ggid,id) values ('this will fail',1);
345
 
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
346
 
select * from t1 where ggid='test1';
347
 
id      ggid    email   passwd
348
 
1       test1           xxx
349
 
select * from t1 where passwd='xxx';
350
 
id      ggid    email   passwd
351
 
1       test1           xxx
352
 
select * from t1 where id=2;
353
 
id      ggid    email   passwd
354
 
2       test2           yyy
355
 
replace into t1 (ggid,id) values ('this will work',1);
356
 
replace into t1 (ggid,passwd) values ('test2','this will work');
357
 
update t1 set id=100,ggid='test2' where id=1;
358
 
ERROR 23000: Duplicate entry 'test2' for key 'ggid'
359
 
select * from t1;
360
 
id      ggid    email   passwd
361
 
1       this will work          
362
 
3       test2           this will work
363
 
select * from t1 where id=1;
364
 
id      ggid    email   passwd
365
 
1       this will work          
366
 
select * from t1 where id=999;
367
 
id      ggid    email   passwd
368
 
drop table t1;
369
 
CREATE TABLE t1 (
370
 
user_name varchar(12),
371
 
password text,
372
 
subscribed char(1),
373
 
user_id int DEFAULT '0' NOT NULL,
374
 
quota bigint,
375
 
weight double,
376
 
access_date date,
377
 
access_time time,
378
 
approved datetime,
379
 
dummy_primary_key int NOT NULL auto_increment,
380
 
PRIMARY KEY (dummy_primary_key)
381
 
) ENGINE=MyISAM;
382
 
INSERT INTO t1 VALUES ('user_0','somepassword','N',0,0,0,'2000-09-07','23:06:59','2000-09-07 23:06:59',1);
383
 
INSERT INTO t1 VALUES ('user_1','somepassword','Y',1,1,1,'2000-09-07','23:06:59','2000-09-07 23:06:59',2);
384
 
INSERT INTO t1 VALUES ('user_2','somepassword','N',2,2,1.4142135623731,'2000-09-07','23:06:59','2000-09-07 23:06:59',3);
385
 
INSERT INTO t1 VALUES ('user_3','somepassword','Y',3,3,1.7320508075689,'2000-09-07','23:06:59','2000-09-07 23:06:59',4);
386
 
INSERT INTO t1 VALUES ('user_4','somepassword','N',4,4,2,'2000-09-07','23:06:59','2000-09-07 23:06:59',5);
387
 
select  user_name, password , subscribed, user_id, quota, weight, access_date, access_time, approved, dummy_primary_key from t1 order by user_name;
388
 
user_name       password        subscribed      user_id quota   weight  access_date     access_time     approved        dummy_primary_key
389
 
user_0  somepassword    N       0       0       0       2000-09-07      23:06:59        2000-09-07 23:06:59     1
390
 
user_1  somepassword    Y       1       1       1       2000-09-07      23:06:59        2000-09-07 23:06:59     2
391
 
user_2  somepassword    N       2       2       1.4142135623731 2000-09-07      23:06:59        2000-09-07 23:06:59     3
392
 
user_3  somepassword    Y       3       3       1.7320508075689 2000-09-07      23:06:59        2000-09-07 23:06:59     4
393
 
user_4  somepassword    N       4       4       2       2000-09-07      23:06:59        2000-09-07 23:06:59     5
394
 
drop table t1;
395
 
CREATE TABLE t1 (
396
 
id int NOT NULL auto_increment,
397
 
parent_id int DEFAULT '0' NOT NULL,
398
 
level int DEFAULT '0' NOT NULL,
399
 
KEY (id),
400
 
KEY parent_id (parent_id),
401
 
KEY level (level)
402
 
) engine=MyISAM;
403
 
INSERT INTO t1 VALUES (1,0,0),(3,1,1),(4,1,1),(8,2,2),(9,2,2),(17,3,2),(22,4,2),(24,4,2),(28,5,2),(29,5,2),(30,5,2),(31,6,2),(32,6,2),(33,6,2),(203,7,2),(202,7,2),(20,3,2),(157,0,0),(193,5,2),(40,7,2),(2,1,1),(15,2,2),(6,1,1),(34,6,2),(35,6,2),(16,3,2),(7,1,1),(36,7,2),(18,3,2),(26,5,2),(27,5,2),(183,4,2),(38,7,2),(25,5,2),(37,7,2),(21,4,2),(19,3,2),(5,1,1);
404
 
INSERT INTO t1 values (179,5,2);
405
 
update t1 set parent_id=parent_id+100;
406
 
select * from t1 where parent_id=102;
407
 
id      parent_id       level
408
 
8       102     2
409
 
9       102     2
410
 
15      102     2
411
 
update t1 set id=id+1000;
412
 
update t1 set id=1024 where id=1009;
413
 
select * from t1;
414
 
id      parent_id       level
415
 
1001    100     0
416
 
1003    101     1
417
 
1004    101     1
418
 
1008    102     2
419
 
1024    102     2
420
 
1017    103     2
421
 
1022    104     2
422
 
1024    104     2
423
 
1028    105     2
424
 
1029    105     2
425
 
1030    105     2
426
 
1031    106     2
427
 
1032    106     2
428
 
1033    106     2
429
 
1203    107     2
430
 
1202    107     2
431
 
1020    103     2
432
 
1157    100     0
433
 
1193    105     2
434
 
1040    107     2
435
 
1002    101     1
436
 
1015    102     2
437
 
1006    101     1
438
 
1034    106     2
439
 
1035    106     2
440
 
1016    103     2
441
 
1007    101     1
442
 
1036    107     2
443
 
1018    103     2
444
 
1026    105     2
445
 
1027    105     2
446
 
1183    104     2
447
 
1038    107     2
448
 
1025    105     2
449
 
1037    107     2
450
 
1021    104     2
451
 
1019    103     2
452
 
1005    101     1
453
 
1179    105     2
454
 
update ignore t1 set id=id+1;
455
 
select * from t1;
456
 
id      parent_id       level
457
 
1002    100     0
458
 
1004    101     1
459
 
1005    101     1
460
 
1009    102     2
461
 
1025    102     2
462
 
1018    103     2
463
 
1023    104     2
464
 
1025    104     2
465
 
1029    105     2
466
 
1030    105     2
467
 
1031    105     2
468
 
1032    106     2
469
 
1033    106     2
470
 
1034    106     2
471
 
1204    107     2
472
 
1203    107     2
473
 
1021    103     2
474
 
1158    100     0
475
 
1194    105     2
476
 
1041    107     2
477
 
1003    101     1
478
 
1016    102     2
479
 
1007    101     1
480
 
1035    106     2
481
 
1036    106     2
482
 
1017    103     2
483
 
1008    101     1
484
 
1037    107     2
485
 
1019    103     2
486
 
1027    105     2
487
 
1028    105     2
488
 
1184    104     2
489
 
1039    107     2
490
 
1026    105     2
491
 
1038    107     2
492
 
1022    104     2
493
 
1020    103     2
494
 
1006    101     1
495
 
1180    105     2
496
 
update ignore t1 set id=1023 where id=1010;
497
 
select * from t1 where parent_id=102;
498
 
id      parent_id       level
499
 
1009    102     2
500
 
1025    102     2
501
 
1016    102     2
502
 
explain select level from t1 where level=1;
503
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
504
 
1       SIMPLE  t1      ref     level   level   4       const   #       Using index
505
 
select level,id from t1 where level=1;
506
 
level   id
507
 
1       1004
508
 
1       1005
509
 
1       1003
510
 
1       1007
511
 
1       1008
512
 
1       1006
513
 
select level,id,parent_id from t1 where level=1;
514
 
level   id      parent_id
515
 
1       1004    101
516
 
1       1005    101
517
 
1       1003    101
518
 
1       1007    101
519
 
1       1008    101
520
 
1       1006    101
521
 
select level,id from t1 where level=1 order by id;
522
 
level   id
523
 
1       1003
524
 
1       1004
525
 
1       1005
526
 
1       1006
527
 
1       1007
528
 
1       1008
529
 
delete from t1 where level=1;
530
 
select * from t1;
531
 
id      parent_id       level
532
 
1002    100     0
533
 
1009    102     2
534
 
1025    102     2
535
 
1018    103     2
536
 
1023    104     2
537
 
1025    104     2
538
 
1029    105     2
539
 
1030    105     2
540
 
1031    105     2
541
 
1032    106     2
542
 
1033    106     2
543
 
1034    106     2
544
 
1204    107     2
545
 
1203    107     2
546
 
1021    103     2
547
 
1158    100     0
548
 
1194    105     2
549
 
1041    107     2
550
 
1016    102     2
551
 
1035    106     2
552
 
1036    106     2
553
 
1017    103     2
554
 
1037    107     2
555
 
1019    103     2
556
 
1027    105     2
557
 
1028    105     2
558
 
1184    104     2
559
 
1039    107     2
560
 
1026    105     2
561
 
1038    107     2
562
 
1022    104     2
563
 
1020    103     2
564
 
1180    105     2
565
 
drop table t1;
566
 
CREATE TABLE t1 (
567
 
sca_code char(6) NOT NULL,
568
 
cat_code char(6) NOT NULL,
569
 
sca_desc varchar(50),
570
 
lan_code char(2) NOT NULL,
571
 
sca_pic varchar(100),
572
 
sca_sdesc varchar(50),
573
 
sca_sch_desc varchar(16),
574
 
PRIMARY KEY (sca_code, cat_code, lan_code),
575
 
INDEX sca_pic (sca_pic)
576
 
) engine = MyISAM ;
577
 
INSERT INTO t1 ( sca_code, cat_code, sca_desc, lan_code, sca_pic, sca_sdesc, sca_sch_desc) VALUES ( 'PD', 'J', 'PENDANT', 'EN', NULL, NULL, 'PENDANT'),( 'RI', 'J', 'RING', 'EN', NULL, NULL, 'RING'),( 'QQ', 'N', 'RING', 'EN', 'not null', NULL, 'RING');
578
 
select count(*) from t1 where sca_code = 'PD';
579
 
count(*)
580
 
1
581
 
select count(*) from t1 where sca_code <= 'PD';
582
 
count(*)
583
 
1
584
 
select count(*) from t1 where sca_pic is null;
585
 
count(*)
586
 
2
587
 
alter table t1 drop index sca_pic, add index sca_pic (cat_code, sca_pic);
588
 
select count(*) from t1 where sca_code='PD' and sca_pic is null;
589
 
count(*)
590
 
1
591
 
select count(*) from t1 where cat_code='E';
592
 
count(*)
593
 
0
594
 
alter table t1 drop index sca_pic, add index (sca_pic, cat_code);
595
 
select count(*) from t1 where sca_code='PD' and sca_pic is null;
596
 
count(*)
597
 
1
598
 
select count(*) from t1 where sca_pic >= 'n';
599
 
count(*)
600
 
1
601
 
select sca_pic from t1 where sca_pic is null;
602
 
sca_pic
603
 
NULL
604
 
NULL
605
 
update t1 set sca_pic="test" where sca_pic is null;
606
 
delete from t1 where sca_code='pd';
607
 
drop table t1;
608
 
set @a:=now();
609
 
CREATE TABLE t1 (a int not null, b timestamp not null, primary key (a)) engine=MyISAM;
610
 
insert into t1 (a) values(1),(2),(3);
611
 
select t1.a from t1 natural join t1 as t2 where t1.b >= @a order by t1.a;
612
 
a
613
 
1
614
 
2
615
 
3
616
 
select a from t1 natural join t1 as t2 where b >= @a order by a;
617
 
a
618
 
1
619
 
2
620
 
3
621
 
update t1 set a=5 where a=1;
622
 
select a from t1;
623
 
a
624
 
2
625
 
3
626
 
5
627
 
drop table t1;
628
 
create table t1 (a varchar(100) not null, primary key(a), b int not null) engine=MyISAM;
629
 
insert into t1 values("hello",1),("world",2);
630
 
select * from t1 order by b desc;
631
 
a       b
632
 
world   2
633
 
hello   1
634
 
optimize table t1;
635
 
Table   Op      Msg_type        Msg_text
636
 
test.t1 optimize        status  OK
637
 
show keys from t1;
638
 
Table   Non_unique      Key_name        Seq_in_index    Column_name     Collation       Cardinality     Sub_part        Packed  Null    Index_type      Comment Index_Comment
639
 
t1      0       PRIMARY 1       a       A       #       NULL    NULL            BTREE           
640
 
drop table t1;
641
 
create table t1 (i int, j int ) ENGINE=MyISAM;
642
 
insert into t1 values (1,2);
643
 
select * from t1 where i=1 and j=2;
644
 
i       j
645
 
1       2
646
 
create index ax1 on t1 (i,j);
647
 
select * from t1 where i=1 and j=2;
648
 
i       j
649
 
1       2
650
 
drop table t1;
651
 
CREATE TABLE t1 (
652
 
a int NOT NULL,
653
 
b int NOT NULL,
654
 
UNIQUE (a, b)
655
 
) ENGINE = MyISAM;
656
 
INSERT INTO t1 VALUES (1, 1);
657
 
SELECT MIN(B),MAX(b) FROM t1 WHERE t1.a = 1;
658
 
MIN(B)  MAX(b)
659
 
1       1
660
 
drop table t1;
661
 
CREATE TABLE t1 (a int NOT NULL) engine=MyISAM;
662
 
INSERT INTO t1 VALUES (1);
663
 
SELECT * FROM t1;
664
 
a
665
 
1
666
 
DROP TABLE t1;
667
 
create table t1 (a int  primary key,b int, c int, d int, e int, f int, g int, h int, i int, j int, k int, l int, m int, n int, o int, p int, q int, r int, s int, t int, u int, v int, w int, x int, y int, z int, a1 int, a2 int, a3 int, a4 int, a5 int, a6 int, a7 int, a8 int, a9 int, b1 int, b2 int, b3 int, b4 int, b5 int, b6 int) engine = MyISAM;
668
 
insert into t1 values (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
669
 
explain select * from t1 where a > 0 and a < 50;
670
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
671
 
1       SIMPLE  t1      system  PRIMARY NULL    NULL    NULL    #       
672
 
drop table t1;
673
 
create table t1 (id int NOT NULL,id2 int NOT NULL,id3 int NOT NULL,dummy1 char(30),primary key (id,id2),index index_id3 (id3)) engine=MyISAM;
674
 
insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJKL');
675
 
LOCK TABLES t1 WRITE;
676
 
insert into t1 values (99,1,2,'D'),(1,1,2,'D');
677
 
ERROR 23000: Duplicate entry '1-1' for key 'PRIMARY'
678
 
select id from t1;
679
 
id
680
 
0
681
 
1
682
 
2
683
 
99
684
 
select id from t1;
685
 
id
686
 
0
687
 
1
688
 
2
689
 
99
690
 
UNLOCK TABLES;
691
 
DROP TABLE t1;
692
 
create table t1 (id int NOT NULL,id2 int NOT NULL,id3 int NOT NULL,dummy1 char(30),primary key (id,id2),index index_id3 (id3)) engine=MyISAM;
693
 
insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJKL');
694
 
LOCK TABLES t1 WRITE;
695
 
begin;
696
 
insert into t1 values (99,1,2,'D'),(1,1,2,'D');
697
 
ERROR 23000: Duplicate entry '1-1' for key 'PRIMARY'
698
 
select id from t1;
699
 
id
700
 
0
701
 
1
702
 
2
703
 
99
704
 
insert ignore into t1 values (100,1,2,'D'),(1,1,99,'D');
705
 
commit;
706
 
select id,id3 from t1;
707
 
id      id3
708
 
0       0
709
 
2       2
710
 
1       1
711
 
99      2
712
 
100     2
713
 
UNLOCK TABLES;
714
 
DROP TABLE t1;
715
 
create table t1 (a char(20), unique (a(5))) engine=MyISAM;
716
 
drop table t1;
717
 
create table t1 (a char(20), index (a(5))) engine=MyISAM;
718
 
show create table t1;
719
 
Table   Create Table
720
 
t1      CREATE TABLE `t1` (
721
 
  `a` varchar(20),
722
 
  KEY `a` (`a`())
723
 
) ENGINE=MyISAM
724
 
drop table t1;
725
 
create temporary table t1 (a int not null auto_increment, primary key(a)) engine=MyISAM;
726
 
insert into t1 values (NULL),(NULL),(NULL);
727
 
delete from t1 where a=3;
728
 
insert into t1 values (NULL);
729
 
select * from t1;
730
 
a
731
 
1
732
 
2
733
 
4
734
 
alter table t1 add b int;
735
 
select * from t1;
736
 
a       b
737
 
1       NULL
738
 
2       NULL
739
 
4       NULL
740
 
drop table t1;
741
 
create table t1
742
 
(
743
 
id int auto_increment primary key,
744
 
name varchar(32) not null,
745
 
value text not null,
746
 
uid int not null,
747
 
unique key(name,uid)
748
 
) engine=MyISAM;
749
 
insert into t1 values (1,'one','one value',101),
750
 
(2,'two','two value',102),(3,'three','three value',103);
751
 
replace into t1 (value,name,uid) values ('other value','two',102);
752
 
delete from t1 where uid=102;
753
 
replace into t1 (value,name,uid) values ('other value','two',102);
754
 
replace into t1 (value,name,uid) values ('other value','two',102);
755
 
select * from t1;
756
 
id      name    value   uid
757
 
1       one     one value       101
758
 
6       two     other value     102
759
 
3       three   three value     103
760
 
drop table t1;
761
 
create database mysqltest;
762
 
create table mysqltest.t1 (a int not null) engine= MyISAM;
763
 
insert into mysqltest.t1 values(1);
764
 
create table mysqltest.t2 (a int not null) engine= MEMORY;
765
 
insert into mysqltest.t2 values(1);
766
 
create table mysqltest.t3 (a int not null) engine= MEMORY;
767
 
insert into mysqltest.t3 values(1);
768
 
commit;
769
 
drop database mysqltest;
770
 
show tables from mysqltest;
771
 
ERROR 42000: Unknown database 'mysqltest'
772
 
set autocommit=0;
773
 
create table t1 (a int not null) engine= MyISAM;
774
 
insert into t1 values(1),(2);
775
 
truncate table t1;
776
 
commit;
777
 
truncate table t1;
778
 
truncate table t1;
779
 
select * from t1;
780
 
a
781
 
insert into t1 values(1),(2);
782
 
delete from t1;
783
 
select * from t1;
784
 
a
785
 
commit;
786
 
drop table t1;
787
 
set autocommit=1;
788
 
create table t1 (a int not null) engine= MyISAM;
789
 
insert into t1 values(1),(2);
790
 
truncate table t1;
791
 
insert into t1 values(1),(2);
792
 
select * from t1;
793
 
a
794
 
1
795
 
2
796
 
truncate table t1;
797
 
insert into t1 values(1),(2);
798
 
delete from t1;
799
 
select * from t1;
800
 
a
801
 
drop table t1;
802
 
create table t1 (a int not null, b int not null, c int not null, primary key (a),key(b)) engine=MyISAM;
803
 
insert into t1 values (3,3,3),(1,1,1),(2,2,2),(4,4,4);
804
 
explain select * from t1 order by a;
805
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
806
 
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    #       Using filesort
807
 
explain select * from t1 order by b;
808
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
809
 
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    #       Using filesort
810
 
explain select * from t1 order by c;
811
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
812
 
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    #       Using filesort
813
 
explain select a from t1 order by a;
814
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
815
 
1       SIMPLE  t1      index   NULL    PRIMARY 4       NULL    #       Using index
816
 
explain select b from t1 order by b;
817
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
818
 
1       SIMPLE  t1      index   NULL    b       4       NULL    #       Using index
819
 
explain select a,b from t1 order by b;
820
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
821
 
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    #       Using filesort
822
 
explain select a,b from t1;
823
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
824
 
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    #       
825
 
explain select a,b,c from t1;
826
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
827
 
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    #       
828
 
drop table t1;
829
 
create table t1 (t int not null default 1, key (t)) engine=MyISAM;
830
 
desc t1;
831
 
Field   Type    Null    Key     Default Extra
832
 
t       int     NO      MUL     NULL    
833
 
drop table t1;
834
 
CREATE TABLE t1 (
835
 
number bigint NOT NULL default '0',
836
 
cname char(15) NOT NULL default '',
837
 
carrier_id int NOT NULL default '0',
838
 
privacy int NOT NULL default '0',
839
 
last_mod_date timestamp NOT NULL,
840
 
last_mod_id int NOT NULL default '0',
841
 
last_app_date timestamp NOT NULL,
842
 
last_app_id int default '-1',
843
 
version int NOT NULL default '0',
844
 
assigned_scps int default '0',
845
 
status int default '0'
846
 
) ENGINE=MyISAM;
847
 
INSERT INTO t1 VALUES (4077711111,'SeanWheeler',90,2,20020111112846,500,00000000000000,-1,2,3,1);
848
 
INSERT INTO t1 VALUES (9197722223,'berry',90,3,20020111112809,500,20020102114532,501,4,10,0);
849
 
INSERT INTO t1 VALUES (650,'San Francisco',0,0,20011227111336,342,00000000000000,-1,1,24,1);
850
 
INSERT INTO t1 VALUES (302467,'Sue\'s Subshop',90,3,20020109113241,500,20020102115111,501,7,24,0);
851
 
INSERT INTO t1 VALUES (6014911113,'SudzCarwash',520,1,20020102115234,500,20020102115259,501,33,32768,0);
852
 
INSERT INTO t1 VALUES (333,'tubs',99,2,20020109113440,501,20020109113440,500,3,10,0);
853
 
CREATE TABLE t2 (
854
 
number bigint NOT NULL default '0',
855
 
cname char(15) NOT NULL default '',
856
 
carrier_id int NOT NULL default '0',
857
 
privacy int NOT NULL default '0',
858
 
last_mod_date timestamp NOT NULL,
859
 
last_mod_id int NOT NULL default '0',
860
 
last_app_date timestamp NOT NULL,
861
 
last_app_id int default '-1',
862
 
version int NOT NULL default '0',
863
 
assigned_scps int default '0',
864
 
status int default '0'
865
 
) ENGINE=MyISAM;
866
 
INSERT INTO t2 VALUES (4077711111,'SeanWheeler',0,2,20020111112853,500,00000000000000,-1,2,3,1);
867
 
INSERT INTO t2 VALUES (9197722223,'berry',90,3,20020111112818,500,20020102114532,501,4,10,0);
868
 
INSERT INTO t2 VALUES (650,'San Francisco',90,0,20020109113158,342,00000000000000,-1,1,24,1);
869
 
INSERT INTO t2 VALUES (333,'tubs',99,2,20020109113453,501,20020109113453,500,3,10,0);
870
 
select * from t1;
871
 
number  cname   carrier_id      privacy last_mod_date   last_mod_id     last_app_date   last_app_id     version assigned_scps   status
872
 
4077711111      SeanWheeler     90      2       2002-01-11 11:28:46     500     0000-00-00 00:00:00     -1      2       3       1
873
 
9197722223      berry   90      3       2002-01-11 11:28:09     500     2002-01-02 11:45:32     501     4       10      0
874
 
650     San Francisco   0       0       2001-12-27 11:13:36     342     0000-00-00 00:00:00     -1      1       24      1
875
 
302467  Sue's Subshop   90      3       2002-01-09 11:32:41     500     2002-01-02 11:51:11     501     7       24      0
876
 
6014911113      SudzCarwash     520     1       2002-01-02 11:52:34     500     2002-01-02 11:52:59     501     33      32768   0
877
 
333     tubs    99      2       2002-01-09 11:34:40     501     2002-01-09 11:34:40     500     3       10      0
878
 
select * from t2;
879
 
number  cname   carrier_id      privacy last_mod_date   last_mod_id     last_app_date   last_app_id     version assigned_scps   status
880
 
4077711111      SeanWheeler     0       2       2002-01-11 11:28:53     500     0000-00-00 00:00:00     -1      2       3       1
881
 
9197722223      berry   90      3       2002-01-11 11:28:18     500     2002-01-02 11:45:32     501     4       10      0
882
 
650     San Francisco   90      0       2002-01-09 11:31:58     342     0000-00-00 00:00:00     -1      1       24      1
883
 
333     tubs    99      2       2002-01-09 11:34:53     501     2002-01-09 11:34:53     500     3       10      0
884
 
delete t1, t2 from t1 left join t2 on t1.number=t2.number where (t1.carrier_id=90 and t1.number=t2.number) or (t2.carrier_id=90 and t1.number=t2.number) or  (t1.carrier_id=90 and t2.number is null);
885
 
select * from t1;
886
 
number  cname   carrier_id      privacy last_mod_date   last_mod_id     last_app_date   last_app_id     version assigned_scps   status
887
 
6014911113      SudzCarwash     520     1       2002-01-02 11:52:34     500     2002-01-02 11:52:59     501     33      32768   0
888
 
333     tubs    99      2       2002-01-09 11:34:40     501     2002-01-09 11:34:40     500     3       10      0
889
 
select * from t2;
890
 
number  cname   carrier_id      privacy last_mod_date   last_mod_id     last_app_date   last_app_id     version assigned_scps   status
891
 
333     tubs    99      2       2002-01-09 11:34:53     501     2002-01-09 11:34:53     500     3       10      0
892
 
select * from t2;
893
 
number  cname   carrier_id      privacy last_mod_date   last_mod_id     last_app_date   last_app_id     version assigned_scps   status
894
 
333     tubs    99      2       2002-01-09 11:34:53     501     2002-01-09 11:34:53     500     3       10      0
895
 
drop table t1,t2;
896
 
create table t1 (id int not null auto_increment, code int not null, name char(20) not null, primary key (id), key (code), unique (name)) engine=MyISAM;
897
 
BEGIN;
898
 
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
899
 
SELECT @@tx_isolation,@@global.tx_isolation;
900
 
@@tx_isolation  @@global.tx_isolation
901
 
SERIALIZABLE    REPEATABLE-READ
902
 
insert into t1 (code, name) values (1, 'Tim'), (1, 'Monty'), (2, 'David');
903
 
select id, code, name from t1 order by id;
904
 
id      code    name
905
 
1       1       Tim
906
 
2       1       Monty
907
 
3       2       David
908
 
COMMIT;
909
 
BEGIN;
910
 
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
911
 
insert into t1 (code, name) values (2, 'Erik'), (3, 'Sasha');
912
 
select id, code, name from t1 order by id;
913
 
id      code    name
914
 
1       1       Tim
915
 
2       1       Monty
916
 
3       2       David
917
 
4       2       Erik
918
 
5       3       Sasha
919
 
COMMIT;
920
 
BEGIN;
921
 
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
922
 
insert into t1 (code, name) values (3, 'Jeremy'), (4, 'Matt');
923
 
select id, code, name from t1 order by id;
924
 
id      code    name
925
 
1       1       Tim
926
 
2       1       Monty
927
 
3       2       David
928
 
4       2       Erik
929
 
5       3       Sasha
930
 
6       3       Jeremy
931
 
7       4       Matt
932
 
COMMIT;
933
 
DROP TABLE t1;
934
 
create table t1 (n int, d int) engine=MyISAM;
935
 
create table t2 (n int, d int) engine=MyISAM;
936
 
insert into t1 values(1,1),(1,2);
937
 
insert into t2 values(1,10),(2,20);
938
 
UPDATE t1,t2 SET t1.d=t2.d,t2.d=30 WHERE t1.n=t2.n;
939
 
select * from t1;
940
 
n       d
941
 
1       10
942
 
1       10
943
 
select * from t2;
944
 
n       d
945
 
1       30
946
 
2       20
947
 
drop table t1,t2;
948
 
create table t1 (a int, b int) engine=MyISAM;
949
 
insert into t1 values(20,null);
950
 
select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on
951
 
t2.b=t3.a;
952
 
b       ifnull(t2.b,"this is null")
953
 
NULL    this is null
954
 
select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on
955
 
t2.b=t3.a order by 1;
956
 
b       ifnull(t2.b,"this is null")
957
 
NULL    this is null
958
 
insert into t1 values(10,null);
959
 
select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on
960
 
t2.b=t3.a order by 1;
961
 
b       ifnull(t2.b,"this is null")
962
 
NULL    this is null
963
 
NULL    this is null
964
 
drop table t1;
965
 
create table t1 (a varchar(10) not null) engine = MEMORY;
966
 
create table t2 (b varchar(10) not null unique) engine=MyISAM;
967
 
select t1.a from t1,t2 where t1.a=t2.b;
968
 
a
969
 
drop table t1,t2;
970
 
create table t1 (a int not null, b int, primary key (a)) engine = MyISAM;
971
 
create table t2 (a int not null, b int, primary key (a)) engine = MyISAM;
972
 
insert into t1 values (10, 20);
973
 
insert into t2 values (10, 20);
974
 
update t1, t2 set t1.b = 150, t2.b = t1.b where t2.a = t1.a and t1.a = 10;
975
 
drop table t1,t2;
976
 
CREATE TABLE t1 (a int not null primary key, b int not null, unique (b)) engine=MyISAM;
977
 
INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9);
978
 
UPDATE t1 set a=a+100 where b between 2 and 3 and a < 1000;
979
 
SELECT * from t1;
980
 
a       b
981
 
1       1
982
 
102     2
983
 
103     3
984
 
4       4
985
 
5       5
986
 
6       6
987
 
7       7
988
 
8       8
989
 
9       9
990
 
drop table t1;
991
 
CREATE TABLE t1 (a int not null primary key, b int not null, key (b)) engine=MyISAM;
992
 
CREATE TABLE t2 (a int not null primary key, b int not null, key (b)) engine=MyISAM;
993
 
INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10),(11,11),(12,12);
994
 
INSERT INTO t2 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9);
995
 
update t1,t2 set t1.a=t1.a+100;
996
 
select * from t1;
997
 
a       b
998
 
101     1
999
 
102     2
1000
 
103     3
1001
 
104     4
1002
 
105     5
1003
 
106     6
1004
 
107     7
1005
 
108     8
1006
 
109     9
1007
 
110     10
1008
 
111     11
1009
 
112     12
1010
 
update t1,t2 set t1.a=t1.a+100 where t1.a=101;
1011
 
select * from t1;
1012
 
a       b
1013
 
201     1
1014
 
102     2
1015
 
103     3
1016
 
104     4
1017
 
105     5
1018
 
106     6
1019
 
107     7
1020
 
108     8
1021
 
109     9
1022
 
110     10
1023
 
111     11
1024
 
112     12
1025
 
update t1,t2 set t1.b=t1.b+10 where t1.b=2;
1026
 
select * from t1;
1027
 
a       b
1028
 
201     1
1029
 
102     12
1030
 
103     3
1031
 
104     4
1032
 
105     5
1033
 
106     6
1034
 
107     7
1035
 
108     8
1036
 
109     9
1037
 
110     10
1038
 
111     11
1039
 
112     12
1040
 
update t1,t2 set t1.b=t1.b+2,t2.b=t1.b+10 where t1.b between 3 and 5 and t1.a=t2.a+100;
1041
 
select * from t1;
1042
 
a       b
1043
 
201     1
1044
 
102     12
1045
 
103     5
1046
 
104     6
1047
 
105     7
1048
 
106     6
1049
 
107     7
1050
 
108     8
1051
 
109     9
1052
 
110     10
1053
 
111     11
1054
 
112     12
1055
 
select * from t2;
1056
 
a       b
1057
 
1       1
1058
 
2       2
1059
 
3       13
1060
 
4       14
1061
 
5       15
1062
 
6       6
1063
 
7       7
1064
 
8       8
1065
 
9       9
1066
 
drop table t1,t2;
1067
 
CREATE TABLE t2 (  NEXT_T         BIGINT NOT NULL PRIMARY KEY) ENGINE=MEMORY;
1068
 
CREATE TABLE t1 (  B_ID           INTEGER NOT NULL PRIMARY KEY) ENGINE=MyISAM;
1069
 
SET AUTOCOMMIT=0;
1070
 
INSERT INTO t1 ( B_ID ) VALUES ( 1 );
1071
 
INSERT INTO t2 ( NEXT_T ) VALUES ( 1 );
1072
 
ROLLBACK;
1073
 
Warnings:
1074
 
Warning 1196    Some non-transactional changed tables couldn't be rolled back
1075
 
SELECT * FROM t1;
1076
 
B_ID
1077
 
1
1078
 
drop table  t1,t2;
1079
 
create table t1  ( pk         int primary key,    parent     int not null,    child      int not null,       index (parent)  ) engine = MyISAM;
1080
 
insert into t1 values   (1,0,4),  (2,1,3),  (3,2,1),  (4,1,2);
1081
 
select distinct  parent,child   from t1   order by parent;
1082
 
parent  child
1083
 
0       4
1084
 
1       2
1085
 
1       3
1086
 
2       1
1087
 
drop table t1;
1088
 
create table t1 (a int not null auto_increment primary key, b int, c int, key(c)) engine=MyISAM;
1089
 
create table t2 (a int not null auto_increment primary key, b int) ENGINE = MEMORY;
1090
 
insert into t1 (b) values (null),(null),(null),(null),(null),(null),(null);
1091
 
insert into t2 (a) select b from t1;
1092
 
insert into t1 (b) select b from t2;
1093
 
insert into t2 (a) select b from t1;
1094
 
insert into t1 (a) select b from t2;
1095
 
insert into t2 (a) select b from t1;
1096
 
insert into t1 (a) select b from t2;
1097
 
insert into t2 (a) select b from t1;
1098
 
insert into t1 (a) select b from t2;
1099
 
insert into t2 (a) select b from t1;
1100
 
insert into t1 (a) select b from t2;
1101
 
insert into t2 (a) select b from t1;
1102
 
insert into t1 (a) select b from t2;
1103
 
insert into t2 (a) select b from t1;
1104
 
insert into t1 (a) select b from t2;
1105
 
insert into t2 (a) select b from t1;
1106
 
insert into t1 (a) select b from t2;
1107
 
insert into t2 (a) select b from t1;
1108
 
insert into t1 (a) select b from t2;
1109
 
select count(*) from t1;
1110
 
count(*)
1111
 
29267
1112
 
explain select * from t1 where c between 1 and 2500;
1113
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1114
 
1       SIMPLE  t1      range   c       c       5       NULL    #       Using where; Using MRR
1115
 
update t1 set c=a;
1116
 
explain select * from t1 where c between 1 and 2500;
1117
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1118
 
1       SIMPLE  t1      range   c       c       5       NULL    #       Using where; Using MRR
1119
 
drop table t1,t2;
1120
 
create table t1 (id int primary key auto_increment, fk int, index index_fk (fk)) engine=MyISAM;
1121
 
insert into t1 (id) values (null),(null),(null),(null),(null);
1122
 
update t1 set fk=69 where fk is null order by id limit 1;
1123
 
SELECT * from t1;
1124
 
id      fk
1125
 
1       69
1126
 
2       NULL
1127
 
3       NULL
1128
 
4       NULL
1129
 
5       NULL
1130
 
drop table t1;
1131
 
create table t1 (a int not null, b int not null, key (a)) engine=MyISAM;
1132
 
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);
1133
 
SET @tmp=0;
1134
 
update t1 set b=(@tmp:=@tmp+1) order by a;
1135
 
update t1 set b=99 where a=1 order by b asc limit 1;
1136
 
update t1 set b=100 where a=1 order by b desc limit 2;
1137
 
update t1 set a=a+10+b where a=1 order by b;
1138
 
select * from t1 order by a,b;
1139
 
a       b
1140
 
2       4
1141
 
2       5
1142
 
2       6
1143
 
3       7
1144
 
3       8
1145
 
3       9
1146
 
3       10
1147
 
3       11
1148
 
3       12
1149
 
13      2
1150
 
111     100
1151
 
111     100
1152
 
drop table t1;
1153
 
create table t1 ( c char(8) not null ) engine=MyISAM;
1154
 
insert into t1 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9');
1155
 
insert into t1 values ('A'),('B'),('C'),('D'),('E'),('F');
1156
 
alter table t1 add b char(8) not null;
1157
 
alter table t1 add a char(8) not null;
1158
 
alter table t1 add primary key (a,b,c);
1159
 
update t1 set a=c, b=c;
1160
 
create table t2 (c char(8) not null, b char(8) not null, a char(8) not null, primary key(a,b,c)) engine=MyISAM;
1161
 
insert into t2 select * from t1;
1162
 
delete t1,t2 from t2,t1 where t1.a<'B' and t2.b=t1.b;
1163
 
drop table t1,t2;
1164
 
SET AUTOCOMMIT=1;
1165
 
create table t1 (a integer auto_increment primary key) engine=MyISAM;
1166
 
insert into t1 (a) values (NULL),(NULL);
1167
 
truncate table t1;
1168
 
insert into t1 (a) values (NULL),(NULL);
1169
 
SELECT * from t1;
1170
 
a
1171
 
3
1172
 
4
1173
 
drop table t1;
1174
 
CREATE TABLE t1 (col1 int)ENGINE=MyISAM;
1175
 
CREATE TABLE t2 (col1 int,stamp TIMESTAMP,INDEX stamp_idx
1176
 
(stamp))ENGINE=MyISAM;
1177
 
insert into t1 values (1),(2),(3);
1178
 
insert into t2 values (1, 20020204130000),(2, 20020204130000),(4,20020204310000 ),(5,20020204230000);
1179
 
ERROR 22007: Incorrect datetime value: '20020204310000' for column 'stamp' at row 3
1180
 
SELECT col1 FROM t1 UNION SELECT col1 FROM t2 WHERE stamp <
1181
 
'20020204120000' GROUP BY col1;
1182
 
col1
1183
 
1
1184
 
2
1185
 
3
1186
 
drop table t1,t2;
1187
 
CREATE TABLE t1 (
1188
 
`id` int NOT NULL auto_increment,
1189
 
`id_object` int default '0',
1190
 
`id_version` int NOT NULL default '1',
1191
 
`label` varchar(100) NOT NULL default '',
1192
 
`description` text,
1193
 
PRIMARY KEY  (`id`),
1194
 
KEY `id_object` (`id_object`),
1195
 
KEY `id_version` (`id_version`)
1196
 
) ENGINE=MyISAM;
1197
 
INSERT INTO t1 VALUES("6", "3382", "9", "Test", NULL), ("7", "102", "5", "Le Pekin (Test)", NULL),("584", "1794", "4", "Test de resto", NULL),("837", "1822", "6", "Test 3", NULL),("1119", "3524", "1", "Societe Test", NULL),("1122", "3525", "1", "Fournisseur Test", NULL);
1198
 
CREATE TABLE t2 (
1199
 
`id` int NOT NULL auto_increment,
1200
 
`id_version` int NOT NULL default '1',
1201
 
PRIMARY KEY  (`id`),
1202
 
KEY `id_version` (`id_version`)
1203
 
) ENGINE=MyISAM;
1204
 
INSERT INTO t2 VALUES("3524", "1"),("3525", "1"),("1794", "4"),("102", "5"),("1822", "6"),("3382", "9");
1205
 
SELECT t2.id, t1.`label` FROM t2 INNER JOIN
1206
 
(SELECT t1.id_object as id_object FROM t1 WHERE t1.`label` LIKE '%test%') AS lbl
1207
 
ON (t2.id = lbl.id_object) INNER JOIN t1 ON (t2.id = t1.id_object);
1208
 
id      label
1209
 
3382    Test
1210
 
102     Le Pekin (Test)
1211
 
1794    Test de resto
1212
 
1822    Test 3
1213
 
3524    Societe Test
1214
 
3525    Fournisseur Test
1215
 
drop table t1,t2;
1216
 
create table t1 (a int, b varchar(200), c text not null) checksum=1 engine=MyISAM;
1217
 
create table t2 (a int, b varchar(200), c text not null) checksum=0 engine=MyISAM;
1218
 
create table t3 (a int, b varchar(200), c varchar(200) not null) checksum=1 engine=MEMORY;
1219
 
create table t4 (a int, b varchar(200), c varchar(200) not null) checksum=0 engine=MEMORY;
1220
 
create table t5 (a int, b varchar(200), c text not null) checksum=1 engine=MyISAM;
1221
 
create table t6 (a int, b varchar(200), c text not null) checksum=0 engine=MyISAM;
1222
 
insert t1 values (1, "aaa", "bbb"), (NULL, "", "ccccc"), (0, NULL, "");
1223
 
insert t2 select * from t1;
1224
 
insert t3 select * from t1;
1225
 
insert t4 select * from t1;
1226
 
insert t5 select * from t1;
1227
 
insert t6 select * from t1;
1228
 
checksum table t1, t2, t3, t4, t5, t6, t7 quick;
1229
 
Table   Checksum
1230
 
test.t1 2948697075
1231
 
test.t2 NULL
1232
 
test.t3 NULL
1233
 
test.t4 NULL
1234
 
test.t5 2948697075
1235
 
test.t6 NULL
1236
 
test.t7 NULL
1237
 
Warnings:
1238
 
Error   1146    Table 'test.t7' doesn't exist
1239
 
checksum table t1, t2, t3, t4, t5, t6, t7;
1240
 
Table   Checksum
1241
 
test.t1 2948697075
1242
 
test.t2 2948697075
1243
 
test.t3 2948697075
1244
 
test.t4 2948697075
1245
 
test.t5 2948697075
1246
 
test.t6 2948697075
1247
 
test.t7 NULL
1248
 
Warnings:
1249
 
Error   1146    Table 'test.t7' doesn't exist
1250
 
checksum table t1, t2, t3, t4, t5, t6, t7 extended;
1251
 
Table   Checksum
1252
 
test.t1 2948697075
1253
 
test.t2 2948697075
1254
 
test.t3 2948697075
1255
 
test.t4 2948697075
1256
 
test.t5 2948697075
1257
 
test.t6 2948697075
1258
 
test.t7 NULL
1259
 
Warnings:
1260
 
Error   1146    Table 'test.t7' doesn't exist
1261
 
drop table t1,t2,t3, t4, t5, t6;
1262
 
create table t1 (id int,  name char(10) not null,  name2 char(10) not null) engine=MyISAM;
1263
 
insert into t1 values(1,'first','fff'),(2,'second','sss'),(3,'third','ttt');
1264
 
select trim(name2) from t1  union all  select trim(name) from t1 union all select trim(id) from t1;
1265
 
trim(name2)
1266
 
fff
1267
 
sss
1268
 
ttt
1269
 
first
1270
 
second
1271
 
third
1272
 
1
1273
 
2
1274
 
3
1275
 
drop table t1;
1276
 
create table t1 (a int) engine=MyISAM;
1277
 
create table t2 like t1;
1278
 
show create table t2;
1279
 
Table   Create Table
1280
 
t2      CREATE TABLE `t2` (
1281
 
  `a` int
1282
 
) ENGINE=MyISAM
1283
 
drop table t1,t2;
1284
 
flush status;
1285
 
show status like "binlog_cache_use";
1286
 
Variable_name   Value
1287
 
Binlog_cache_use        0
1288
 
show status like "binlog_cache_disk_use";
1289
 
Variable_name   Value
1290
 
Binlog_cache_disk_use   0
1291
 
create table t1 (a int) engine=MyISAM;
1292
 
show status like "binlog_cache_use";
1293
 
Variable_name   Value
1294
 
Binlog_cache_use        0
1295
 
show status like "binlog_cache_disk_use";
1296
 
Variable_name   Value
1297
 
Binlog_cache_disk_use   0
1298
 
begin;
1299
 
delete from t1;
1300
 
commit;
1301
 
show status like "binlog_cache_use";
1302
 
Variable_name   Value
1303
 
Binlog_cache_use        0
1304
 
show status like "binlog_cache_disk_use";
1305
 
Variable_name   Value
1306
 
Binlog_cache_disk_use   0
1307
 
drop table t1;
1308
 
create table t1 (c char(10), index (c,c)) engine=MyISAM;
1309
 
ERROR 42S21: Duplicate column name 'c'
1310
 
create table t1 (c1 char(10), c2 char(10), index (c1,c2,c1)) engine=MyISAM;
1311
 
ERROR 42S21: Duplicate column name 'c1'
1312
 
create table t1 (c1 char(10), c2 char(10), index (c1,c1,c2)) engine=MyISAM;
1313
 
ERROR 42S21: Duplicate column name 'c1'
1314
 
create table t1 (c1 char(10), c2 char(10), index (c2,c1,c1)) engine=MyISAM;
1315
 
ERROR 42S21: Duplicate column name 'c1'
1316
 
create table t1 (c1 char(10), c2 char(10)) engine=MyISAM;
1317
 
alter table t1 add key (c1,c1);
1318
 
ERROR 42S21: Duplicate column name 'c1'
1319
 
alter table t1 add key (c2,c1,c1);
1320
 
ERROR 42S21: Duplicate column name 'c1'
1321
 
alter table t1 add key (c1,c2,c1);
1322
 
ERROR 42S21: Duplicate column name 'c1'
1323
 
alter table t1 add key (c1,c1,c2);
1324
 
ERROR 42S21: Duplicate column name 'c1'
1325
 
drop table t1;
1326
 
create table t1(a int, b int) engine=MyISAM;
1327
 
insert into t1 values ('1111', '3333');
1328
 
select distinct concat(a, b) from t1;
1329
 
concat(a, b)
1330
 
11113333
1331
 
drop table t1;
1332
 
create temporary table t1 (a int) engine=MyISAM;
1333
 
insert into t1 values (4711);
1334
 
truncate t1;
1335
 
insert into t1 values (42);
1336
 
select * from t1;
1337
 
a
1338
 
42
1339
 
drop table t1;
1340
 
create table t1 (a int) engine=MyISAM;
1341
 
insert into t1 values (4711);
1342
 
truncate t1;
1343
 
insert into t1 values (42);
1344
 
select * from t1;
1345
 
a
1346
 
42
1347
 
drop table t1;
1348
 
create table t1 (a int not null, b int not null, c blob not null, d int not null, e int, primary key (a,b,c(255),d)) engine=MyISAM;
1349
 
insert into t1 values (2,2,"b",2,2),(1,1,"a",1,1),(3,3,"ab",3,3);
1350
 
select * from t1 order by a,b,c,d;
1351
 
a       b       c       d       e
1352
 
1       1       a       1       1
1353
 
2       2       b       2       2
1354
 
3       3       ab      3       3
1355
 
explain select * from t1 order by a,b,c,d;
1356
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1357
 
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    3       Using filesort
1358
 
drop table t1;
1359
 
create table t1 (a char(1), b char(1), key(a, b)) engine=MyISAM;
1360
 
insert into t1 values ('8', '6'), ('4', '7');
1361
 
select min(a) from t1;
1362
 
min(a)
1363
 
4
1364
 
select min(b) from t1 where a='8';
1365
 
min(b)
1366
 
6
1367
 
drop table t1;
1368
 
create table t1 (x bigint not null primary key) engine=MyISAM;
1369
 
insert into t1(x) values (0xfffffffffffffff0),(0xfffffffffffffff1);
1370
 
ERROR 22003: Out of range value for column 'x' at row 1
1371
 
select * from t1;
1372
 
x
1373
 
select count(*) from t1 where x>0;
1374
 
count(*)
1375
 
0
1376
 
select count(*) from t1 where x=0;
1377
 
count(*)
1378
 
0
1379
 
select count(*) from t1 where x<0;
1380
 
count(*)
1381
 
0
1382
 
select count(*) from t1 where x < -16;
1383
 
count(*)
1384
 
0
1385
 
select count(*) from t1 where x = -16;
1386
 
count(*)
1387
 
0
1388
 
explain select count(*) from t1 where x > -16;
1389
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1390
 
1       SIMPLE  NULL    NULL    NULL    NULL    NULL    NULL    NULL    Impossible WHERE noticed after reading const tables
1391
 
select count(*) from t1 where x > -16;
1392
 
count(*)
1393
 
0
1394
 
select * from t1 where x > -16;
1395
 
x
1396
 
select count(*) from t1 where x = 18446744073709551601;
1397
 
count(*)
1398
 
0
1399
 
drop table t1;
1400
 
set storage_engine=MyISAM;
1401
 
drop table if exists t1,t2,t3;
1402
 
--- Testing varchar ---
1403
 
--- Testing varchar ---
1404
 
create table t1 (v varchar(10), c char(10), t text);
1405
 
insert into t1 values('+ ', '+ ', '+ ');
1406
 
set @a=repeat(' ',20);
1407
 
insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a));
1408
 
Warnings:
1409
 
Note    1265    Data truncated for column 'v' at row 1
1410
 
Note    1265    Data truncated for column 'c' at row 1
1411
 
select concat('*',v,'*',c,'*',t,'*') from t1;
1412
 
concat('*',v,'*',c,'*',t,'*')
1413
 
*+ *+ *+ *
1414
 
*+         *+         *+                    *
1415
 
show create table t1;
1416
 
Table   Create Table
1417
 
t1      CREATE TABLE `t1` (
1418
 
  `v` varchar(10),
1419
 
  `c` varchar(10),
1420
 
  `t` text
1421
 
) ENGINE=MyISAM
1422
 
create table t2 like t1;
1423
 
show create table t2;
1424
 
Table   Create Table
1425
 
t2      CREATE TABLE `t2` (
1426
 
  `v` varchar(10),
1427
 
  `c` varchar(10),
1428
 
  `t` text
1429
 
) ENGINE=MyISAM
1430
 
create table t3 select * from t1;
1431
 
show create table t3;
1432
 
Table   Create Table
1433
 
t3      CREATE TABLE `t3` (
1434
 
  `v` varchar(10),
1435
 
  `c` varchar(10),
1436
 
  `t` text
1437
 
) ENGINE=MyISAM
1438
 
alter table t1 modify c varchar(10);
1439
 
show create table t1;
1440
 
Table   Create Table
1441
 
t1      CREATE TABLE `t1` (
1442
 
  `v` varchar(10),
1443
 
  `c` varchar(10),
1444
 
  `t` text
1445
 
) ENGINE=MyISAM
1446
 
alter table t1 modify v char(10);
1447
 
show create table t1;
1448
 
Table   Create Table
1449
 
t1      CREATE TABLE `t1` (
1450
 
  `v` varchar(10),
1451
 
  `c` varchar(10),
1452
 
  `t` text
1453
 
) ENGINE=MyISAM
1454
 
alter table t1 modify t varchar(10);
1455
 
Warnings:
1456
 
Note    1265    Data truncated for column 't' at row 2
1457
 
show create table t1;
1458
 
Table   Create Table
1459
 
t1      CREATE TABLE `t1` (
1460
 
  `v` varchar(10),
1461
 
  `c` varchar(10),
1462
 
  `t` varchar(10)
1463
 
) ENGINE=MyISAM
1464
 
select concat('*',v,'*',c,'*',t,'*') from t1;
1465
 
concat('*',v,'*',c,'*',t,'*')
1466
 
*+ *+ *+ *
1467
 
*+         *+         *+         *
1468
 
drop table t1,t2,t3;
1469
 
create table t1 (v varchar(10), c char(10), t text, key(v), key(c), key(t(10)));
1470
 
show create table t1;
1471
 
Table   Create Table
1472
 
t1      CREATE TABLE `t1` (
1473
 
  `v` varchar(10),
1474
 
  `c` varchar(10),
1475
 
  `t` text,
1476
 
  KEY `v` (`v`),
1477
 
  KEY `c` (`c`),
1478
 
  KEY `t` (`t`())
1479
 
) ENGINE=MyISAM
1480
 
select count(*) from t1;
1481
 
count(*)
1482
 
270
1483
 
insert into t1 values(concat('a',char(1)),concat('a',char(1)),concat('a',char(1)));
1484
 
select count(*) from t1 where v='a';
1485
 
count(*)
1486
 
10
1487
 
select count(*) from t1 where c='a';
1488
 
count(*)
1489
 
10
1490
 
select count(*) from t1 where t='a';
1491
 
count(*)
1492
 
10
1493
 
select count(*) from t1 where v='a  ';
1494
 
count(*)
1495
 
10
1496
 
select count(*) from t1 where c='a  ';
1497
 
count(*)
1498
 
10
1499
 
select count(*) from t1 where t='a  ';
1500
 
count(*)
1501
 
10
1502
 
select count(*) from t1 where v between 'a' and 'a ';
1503
 
count(*)
1504
 
10
1505
 
select count(*) from t1 where v between 'a' and 'a ' and v between 'a  ' and 'b\n';
1506
 
count(*)
1507
 
10
1508
 
select count(*) from t1 where v like 'a%';
1509
 
count(*)
1510
 
11
1511
 
select count(*) from t1 where c like 'a%';
1512
 
count(*)
1513
 
11
1514
 
select count(*) from t1 where t like 'a%';
1515
 
count(*)
1516
 
11
1517
 
select count(*) from t1 where v like 'a %';
1518
 
count(*)
1519
 
9
1520
 
explain select count(*) from t1 where v='a  ';
1521
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1522
 
1       SIMPLE  t1      ref     v       v       43      const   #       Using where; Using index
1523
 
explain select count(*) from t1 where c='a  ';
1524
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1525
 
1       SIMPLE  t1      ref     c       c       43      const   #       Using where; Using index
1526
 
explain select count(*) from t1 where t='a  ';
1527
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1528
 
1       SIMPLE  t1      ref     t       t       43      const   #       Using where
1529
 
explain select count(*) from t1 where v like 'a%';
1530
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1531
 
1       SIMPLE  t1      range   v       v       43      NULL    #       Using where; Using index
1532
 
explain select count(*) from t1 where v between 'a' and 'a ';
1533
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1534
 
1       SIMPLE  t1      ref     v       v       43      const   #       Using where; Using index
1535
 
explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a  ' and 'b\n';
1536
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1537
 
1       SIMPLE  t1      ref     v       v       43      const   #       Using where; Using index
1538
 
alter table t1 add unique(v);
1539
 
ERROR 23000: Duplicate entry '{ ' for key 'v_2'
1540
 
alter table t1 add key(v);
1541
 
select concat('*',v,'*',c,'*',t,'*') as qq from t1 where v='a';
1542
 
qq
1543
 
*a*a*a*
1544
 
*a *a *a *
1545
 
*a  *a  *a  *
1546
 
*a   *a   *a   *
1547
 
*a    *a    *a    *
1548
 
*a     *a     *a     *
1549
 
*a      *a      *a      *
1550
 
*a       *a       *a       *
1551
 
*a        *a        *a        *
1552
 
*a         *a         *a         *
1553
 
explain select * from t1 where v='a';
1554
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1555
 
1       SIMPLE  t1      ref     v,v_2   #       43      const   #       Using where
1556
 
select v,count(*) from t1 group by v limit 10;
1557
 
v       count(*)
1558
 
a      1
1559
 
a       10
1560
 
b       10
1561
 
c       10
1562
 
d       10
1563
 
e       10
1564
 
f       10
1565
 
g       10
1566
 
h       10
1567
 
i       10
1568
 
select v,count(t) from t1 group by v limit 10;
1569
 
v       count(t)
1570
 
a      1
1571
 
a       10
1572
 
b       10
1573
 
c       10
1574
 
d       10
1575
 
e       10
1576
 
f       10
1577
 
g       10
1578
 
h       10
1579
 
i       10
1580
 
select v,count(c) from t1 group by v limit 10;
1581
 
v       count(c)
1582
 
a      1
1583
 
a       10
1584
 
b       10
1585
 
c       10
1586
 
d       10
1587
 
e       10
1588
 
f       10
1589
 
g       10
1590
 
h       10
1591
 
i       10
1592
 
select sql_big_result v,count(t) from t1 group by v limit 10;
1593
 
v       count(t)
1594
 
a      1
1595
 
a       10
1596
 
b       10
1597
 
c       10
1598
 
d       10
1599
 
e       10
1600
 
f       10
1601
 
g       10
1602
 
h       10
1603
 
i       10
1604
 
select sql_big_result v,count(c) from t1 group by v limit 10;
1605
 
v       count(c)
1606
 
a      1
1607
 
a       10
1608
 
b       10
1609
 
c       10
1610
 
d       10
1611
 
e       10
1612
 
f       10
1613
 
g       10
1614
 
h       10
1615
 
i       10
1616
 
select c,count(*) from t1 group by c limit 10;
1617
 
c       count(*)
1618
 
a      1
1619
 
a       10
1620
 
b       10
1621
 
c       10
1622
 
d       10
1623
 
e       10
1624
 
f       10
1625
 
g       10
1626
 
h       10
1627
 
i       10
1628
 
select c,count(t) from t1 group by c limit 10;
1629
 
c       count(t)
1630
 
a      1
1631
 
a       10
1632
 
b       10
1633
 
c       10
1634
 
d       10
1635
 
e       10
1636
 
f       10
1637
 
g       10
1638
 
h       10
1639
 
i       10
1640
 
select sql_big_result c,count(t) from t1 group by c limit 10;
1641
 
c       count(t)
1642
 
a      1
1643
 
a       10
1644
 
b       10
1645
 
c       10
1646
 
d       10
1647
 
e       10
1648
 
f       10
1649
 
g       10
1650
 
h       10
1651
 
i       10
1652
 
select t,count(*) from t1 group by t limit 10;
1653
 
t       count(*)
1654
 
a      1
1655
 
a       10
1656
 
b       10
1657
 
c       10
1658
 
d       10
1659
 
e       10
1660
 
f       10
1661
 
g       10
1662
 
h       10
1663
 
i       10
1664
 
select t,count(t) from t1 group by t limit 10;
1665
 
t       count(t)
1666
 
a      1
1667
 
a       10
1668
 
b       10
1669
 
c       10
1670
 
d       10
1671
 
e       10
1672
 
f       10
1673
 
g       10
1674
 
h       10
1675
 
i       10
1676
 
select sql_big_result t,count(t) from t1 group by t limit 10;
1677
 
t       count(t)
1678
 
a      1
1679
 
a       10
1680
 
b       10
1681
 
c       10
1682
 
d       10
1683
 
e       10
1684
 
f       10
1685
 
g       10
1686
 
h       10
1687
 
i       10
1688
 
alter table t1 modify v varchar(300), drop key v, drop key v_2, add key v (v);
1689
 
show create table t1;
1690
 
Table   Create Table
1691
 
t1      CREATE TABLE `t1` (
1692
 
  `v` varchar(300),
1693
 
  `c` varchar(10),
1694
 
  `t` text,
1695
 
  KEY `c` (`c`),
1696
 
  KEY `t` (`t`()),
1697
 
  KEY `v` (`v`)
1698
 
) ENGINE=MyISAM
1699
 
select count(*) from t1 where v='a';
1700
 
count(*)
1701
 
10
1702
 
select count(*) from t1 where v='a  ';
1703
 
count(*)
1704
 
10
1705
 
select count(*) from t1 where v between 'a' and 'a ';
1706
 
count(*)
1707
 
10
1708
 
select count(*) from t1 where v between 'a' and 'a ' and v between 'a  ' and 'b\n';
1709
 
count(*)
1710
 
10
1711
 
select count(*) from t1 where v like 'a%';
1712
 
count(*)
1713
 
11
1714
 
select count(*) from t1 where v like 'a %';
1715
 
count(*)
1716
 
9
1717
 
explain select count(*) from t1 where v='a  ';
1718
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1719
 
1       SIMPLE  t1      ref     v       v       1203    const   #       Using where; Using index
1720
 
explain select count(*) from t1 where v like 'a%';
1721
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1722
 
1       SIMPLE  t1      range   v       v       1203    NULL    #       Using where; Using index
1723
 
explain select count(*) from t1 where v between 'a' and 'a ';
1724
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1725
 
1       SIMPLE  t1      ref     v       v       1203    const   #       Using where; Using index
1726
 
explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a  ' and 'b\n';
1727
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1728
 
1       SIMPLE  t1      ref     v       v       1203    const   #       Using where; Using index
1729
 
explain select * from t1 where v='a';
1730
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1731
 
1       SIMPLE  t1      ref     v       v       1203    const   #       Using where
1732
 
select v,count(*) from t1 group by v limit 10;
1733
 
v       count(*)
1734
 
a      1
1735
 
a       10
1736
 
b       10
1737
 
c       10
1738
 
d       10
1739
 
e       10
1740
 
f       10
1741
 
g       10
1742
 
h       10
1743
 
i       10
1744
 
select v,count(t) from t1 group by v limit 10;
1745
 
v       count(t)
1746
 
a      1
1747
 
a       10
1748
 
b       10
1749
 
c       10
1750
 
d       10
1751
 
e       10
1752
 
f       10
1753
 
g       10
1754
 
h       10
1755
 
i       10
1756
 
select sql_big_result v,count(t) from t1 group by v limit 10;
1757
 
v       count(t)
1758
 
a      1
1759
 
a       10
1760
 
b       10
1761
 
c       10
1762
 
d       10
1763
 
e       10
1764
 
f       10
1765
 
g       10
1766
 
h       10
1767
 
i       10
1768
 
alter table t1 drop key v, add key v (v(30));
1769
 
show create table t1;
1770
 
Table   Create Table
1771
 
t1      CREATE TABLE `t1` (
1772
 
  `v` varchar(300),
1773
 
  `c` varchar(10),
1774
 
  `t` text,
1775
 
  KEY `c` (`c`),
1776
 
  KEY `t` (`t`()),
1777
 
  KEY `v` (`v`())
1778
 
) ENGINE=MyISAM
1779
 
select count(*) from t1 where v='a';
1780
 
count(*)
1781
 
10
1782
 
select count(*) from t1 where v='a  ';
1783
 
count(*)
1784
 
10
1785
 
select count(*) from t1 where v between 'a' and 'a ';
1786
 
count(*)
1787
 
10
1788
 
select count(*) from t1 where v between 'a' and 'a ' and v between 'a  ' and 'b\n';
1789
 
count(*)
1790
 
10
1791
 
select count(*) from t1 where v like 'a%';
1792
 
count(*)
1793
 
11
1794
 
select count(*) from t1 where v like 'a %';
1795
 
count(*)
1796
 
9
1797
 
explain select count(*) from t1 where v='a  ';
1798
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1799
 
1       SIMPLE  t1      ref     v       v       123     const   #       Using where
1800
 
explain select count(*) from t1 where v like 'a%';
1801
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1802
 
1       SIMPLE  t1      range   v       v       123     NULL    #       Using where
1803
 
explain select count(*) from t1 where v between 'a' and 'a ';
1804
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1805
 
1       SIMPLE  t1      ref     v       v       123     const   #       Using where
1806
 
explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a  ' and 'b\n';
1807
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1808
 
1       SIMPLE  t1      ref     v       v       123     const   #       Using where
1809
 
explain select * from t1 where v='a';
1810
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1811
 
1       SIMPLE  t1      ref     v       v       123     const   #       Using where
1812
 
select v,count(*) from t1 group by v limit 10;
1813
 
v       count(*)
1814
 
a      1
1815
 
a       10
1816
 
b       10
1817
 
c       10
1818
 
d       10
1819
 
e       10
1820
 
f       10
1821
 
g       10
1822
 
h       10
1823
 
i       10
1824
 
select v,count(t) from t1 group by v limit 10;
1825
 
v       count(t)
1826
 
a      1
1827
 
a       10
1828
 
b       10
1829
 
c       10
1830
 
d       10
1831
 
e       10
1832
 
f       10
1833
 
g       10
1834
 
h       10
1835
 
i       10
1836
 
select sql_big_result v,count(t) from t1 group by v limit 10;
1837
 
v       count(t)
1838
 
a      1
1839
 
a       10
1840
 
b       10
1841
 
c       10
1842
 
d       10
1843
 
e       10
1844
 
f       10
1845
 
g       10
1846
 
h       10
1847
 
i       10
1848
 
alter table t1 modify v varchar(600), drop key v, add key v (v);
1849
 
Warnings:
1850
 
Warning 1071    Specified key was too long; max key length is 1332 bytes
1851
 
Warning 1071    Specified key was too long; max key length is 1332 bytes
1852
 
Warning 1071    Specified key was too long; max key length is 1332 bytes
1853
 
show create table t1;
1854
 
Table   Create Table
1855
 
t1      CREATE TABLE `t1` (
1856
 
  `v` varchar(600),
1857
 
  `c` varchar(10),
1858
 
  `t` text,
1859
 
  KEY `c` (`c`),
1860
 
  KEY `t` (`t`()),
1861
 
  KEY `v` (`v`())
1862
 
) ENGINE=MyISAM
1863
 
select v,count(*) from t1 group by v limit 10;
1864
 
v       count(*)
1865
 
a      1
1866
 
a       10
1867
 
b       10
1868
 
c       10
1869
 
d       10
1870
 
e       10
1871
 
f       10
1872
 
g       10
1873
 
h       10
1874
 
i       10
1875
 
select v,count(t) from t1 group by v limit 10;
1876
 
v       count(t)
1877
 
a      1
1878
 
a       10
1879
 
b       10
1880
 
c       10
1881
 
d       10
1882
 
e       10
1883
 
f       10
1884
 
g       10
1885
 
h       10
1886
 
i       10
1887
 
select sql_big_result v,count(t) from t1 group by v limit 10;
1888
 
v       count(t)
1889
 
a      1
1890
 
a       10
1891
 
b       10
1892
 
c       10
1893
 
d       10
1894
 
e       10
1895
 
f       10
1896
 
g       10
1897
 
h       10
1898
 
i       10
1899
 
drop table t1;
1900
 
create table t1 (a char(10), unique (a));
1901
 
insert into t1 values ('a   ');
1902
 
insert into t1 values ('a ');
1903
 
ERROR 23000: Duplicate entry 'a ' for key 'a'
1904
 
alter table t1 modify a varchar(10);
1905
 
insert into t1 values ('a '),('a  '),('a   '),('a         ');
1906
 
ERROR 23000: Duplicate entry 'a ' for key 'a'
1907
 
insert into t1 values ('a     ');
1908
 
ERROR 23000: Duplicate entry 'a     ' for key 'a'
1909
 
insert into t1 values ('a          ');
1910
 
ERROR 23000: Duplicate entry 'a         ' for key 'a'
1911
 
insert into t1 values ('a ');
1912
 
ERROR 23000: Duplicate entry 'a ' for key 'a'
1913
 
update t1 set a='a  ' where a like 'a%';
1914
 
select concat(a,'.') from t1;
1915
 
concat(a,'.')
1916
 
a  .
1917
 
update t1 set a='abc    ' where a like 'a ';
1918
 
select concat(a,'.') from t1;
1919
 
concat(a,'.')
1920
 
a  .
1921
 
update t1 set a='a      ' where a like 'a %';
1922
 
select concat(a,'.') from t1;
1923
 
concat(a,'.')
1924
 
a      .
1925
 
update t1 set a='a  ' where a like 'a      ';
1926
 
select concat(a,'.') from t1;
1927
 
concat(a,'.')
1928
 
a  .
1929
 
drop table t1;
1930
 
create table t1 (v varchar(10), c char(10), t text, key(v(5)), key(c(5)), key(t(5)));
1931
 
show create table t1;
1932
 
Table   Create Table
1933
 
t1      CREATE TABLE `t1` (
1934
 
  `v` varchar(10),
1935
 
  `c` varchar(10),
1936
 
  `t` text,
1937
 
  KEY `v` (`v`()),
1938
 
  KEY `c` (`c`()),
1939
 
  KEY `t` (`t`())
1940
 
) ENGINE=MyISAM
1941
 
drop table t1;
1942
 
create table t1 (v char(10));
1943
 
show create table t1;
1944
 
Table   Create Table
1945
 
t1      CREATE TABLE `t1` (
1946
 
  `v` varchar(10)
1947
 
) ENGINE=MyISAM
1948
 
drop table t1;
1949
 
create table t1 (v varchar(10), c char(10)) row_format=fixed;
1950
 
show create table t1;
1951
 
Table   Create Table
1952
 
t1      CREATE TABLE `t1` (
1953
 
  `v` varchar(10),
1954
 
  `c` varchar(10)
1955
 
) ENGINE=MyISAM ROW_FORMAT=FIXED
1956
 
insert into t1 values('a','a'),('a ','a ');
1957
 
select concat('*',v,'*',c,'*') from t1;
1958
 
concat('*',v,'*',c,'*')
1959
 
*a*a*
1960
 
*a *a *
1961
 
drop table t1;
1962
 
create table t1(a int, b varchar(12), key ba(b, a));
1963
 
insert into t1 values (1, 'A'), (20, NULL);
1964
 
explain select * from t1 where a=20 and b is null;
1965
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
1966
 
1       SIMPLE  t1      ref     ba      ba      56      const,const     1       Using where; Using index
1967
 
select * from t1 where a=20 and b is null;
1968
 
a       b
1969
 
20      NULL
1970
 
drop table t1;
1971
 
create table t1 (a char(1), b char(1), key(a, b)) engine=MyISAM;
1972
 
insert into t1 values ('8', '6'), ('4', '7');
1973
 
select min(a) from t1;
1974
 
min(a)
1975
 
4
1976
 
select min(b) from t1 where a='8';
1977
 
min(b)
1978
 
6
1979
 
drop table t1;
1980
 
CREATE TABLE t1 ( `a` int NOT NULL auto_increment, `b` int default NULL,PRIMARY KEY  (`a`),UNIQUE KEY `b` (`b`)) ENGINE=MyISAM;
1981
 
insert into t1 (b) values (1);
1982
 
replace into t1 (b) values (2), (1), (3);
1983
 
select * from t1;
1984
 
a       b
1985
 
3       1
1986
 
2       2
1987
 
4       3
1988
 
truncate table t1;
1989
 
insert into t1 (b) values (1);
1990
 
replace into t1 (b) values (2);
1991
 
replace into t1 (b) values (1);
1992
 
replace into t1 (b) values (3);
1993
 
select * from t1;
1994
 
a       b
1995
 
7       1
1996
 
6       2
1997
 
8       3
1998
 
drop table t1;
1999
 
create table t1 (rowid int not null auto_increment, val int not null,primary
2000
 
key (rowid), unique(val)) engine=MyISAM;
2001
 
replace into t1 (val) values ('1'),('2');
2002
 
replace into t1 (val) values ('1'),('2');
2003
 
insert into t1 (val) values ('1'),('2');
2004
 
ERROR 23000: Duplicate entry '1' for key 'val'
2005
 
select * from t1;
2006
 
rowid   val
2007
 
3       1
2008
 
4       2
2009
 
drop table t1;
2010
 
CREATE TABLE t1 (GRADE DECIMAL(4) NOT NULL, PRIMARY KEY (GRADE)) ENGINE=MyISAM;
2011
 
INSERT INTO t1 (GRADE) VALUES (151),(252),(343);
2012
 
SELECT GRADE  FROM t1 WHERE GRADE > 160 AND GRADE < 300;
2013
 
GRADE
2014
 
252
2015
 
SELECT GRADE  FROM t1 WHERE GRADE= 151;
2016
 
GRADE
2017
 
151
2018
 
DROP TABLE t1;
2019
 
create table t1 (f1 varchar(10), f2 varchar(10), primary key (f1,f2)) engine=MyISAM;
2020
 
create table t2 (f3 varchar(10), f4 varchar(10), key (f4)) engine=MyISAM;
2021
 
insert into t2 values ('aa','cc');
2022
 
insert into t1 values ('aa','bb'),('aa','cc');
2023
 
delete t1 from t1,t2 where f1=f3 and f4='cc';
2024
 
select * from t1;
2025
 
f1      f2
2026
 
drop table t1,t2;
2027
 
create table t1(a date) engine=MyISAM;
2028
 
create table t2(a date, key(a)) engine=MyISAM;
2029
 
insert into t1 values('2005-10-01');
2030
 
insert into t2 values('2005-10-01');
2031
 
select * from t1, t2
2032
 
where t2.a between t1.a - interval 2 day and t1.a + interval 2 day;
2033
 
a       a
2034
 
2005-10-01      2005-10-01
2035
 
drop table t1, t2;
2036
 
create table t1 (id int not null, f_id int not null, f int not null,
2037
 
primary key(f_id, id)) engine=MyISAM;
2038
 
create table t2 (id int not null,s_id int not null,s varchar(200),
2039
 
primary key(id)) engine=MyISAM;
2040
 
INSERT INTO t1 VALUES (8, 1, 3);
2041
 
INSERT INTO t1 VALUES (1, 2, 1);
2042
 
INSERT INTO t2 VALUES (1, 0, '');
2043
 
INSERT INTO t2 VALUES (8, 1, '');
2044
 
commit;
2045
 
DELETE ml.* FROM t1 AS ml LEFT JOIN t2 AS mm ON (mm.id=ml.id)
2046
 
WHERE mm.id IS NULL;
2047
 
select ml.* from t1 as ml left join t2 as mm on (mm.id=ml.id)
2048
 
where mm.id is null lock in share mode;
2049
 
id      f_id    f
2050
 
drop table t1,t2;
2051
 
create table t1(a int not null, b int, primary key(a)) engine=MyISAM;
2052
 
insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2),(7,3);
2053
 
commit;
2054
 
set autocommit = 0;
2055
 
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
2056
 
update t1 set b = 5 where b = 1;
2057
 
set autocommit = 0;
2058
 
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
2059
 
select * from t1 where a = 7 and b = 3 for update;
2060
 
a       b
2061
 
7       3
2062
 
commit;
2063
 
commit;
2064
 
drop table t1;
2065
 
CREATE TABLE t1 ( a int ) ENGINE=MyISAM;
2066
 
BEGIN;
2067
 
INSERT INTO t1 VALUES (1);
2068
 
OPTIMIZE TABLE t1;
2069
 
Table   Op      Msg_type        Msg_text
2070
 
test.t1 optimize        status  OK
2071
 
DROP TABLE t1;