123
123
key (n2, n3, n4, n1),
124
124
key (n3, n4, n1, n2),
125
125
key (n4, n1, n2, n3) );
126
alter table t1 disable keys;
127
127
show keys from t1;
128
128
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
129
129
t1 0 n1 1 n1 A 0 NULL NULL BTREE
130
t1 1 n1_2 1 n1 A 0 NULL NULL BTREE
131
t1 1 n1_2 2 n2 A 0 NULL NULL YES BTREE
132
t1 1 n1_2 3 n3 A 0 NULL NULL YES BTREE
133
t1 1 n1_2 4 n4 A 0 NULL NULL YES BTREE
134
t1 1 n2 1 n2 A 0 NULL NULL YES BTREE
135
t1 1 n2 2 n3 A 0 NULL NULL YES BTREE
136
t1 1 n2 3 n4 A 0 NULL NULL YES BTREE
137
t1 1 n2 4 n1 A 0 NULL NULL BTREE
138
t1 1 n3 1 n3 A 0 NULL NULL YES BTREE
139
t1 1 n3 2 n4 A 0 NULL NULL YES BTREE
140
t1 1 n3 3 n1 A 0 NULL NULL BTREE
141
t1 1 n3 4 n2 A 0 NULL NULL YES BTREE
142
t1 1 n4 1 n4 A 0 NULL NULL YES BTREE
143
t1 1 n4 2 n1 A 0 NULL NULL BTREE
144
t1 1 n4 3 n2 A 0 NULL NULL YES BTREE
145
t1 1 n4 4 n3 A 0 NULL NULL YES BTREE
130
t1 1 n1_2 1 n1 A NULL NULL NULL BTREE disabled
131
t1 1 n1_2 2 n2 A NULL NULL NULL YES BTREE disabled
132
t1 1 n1_2 3 n3 A NULL NULL NULL YES BTREE disabled
133
t1 1 n1_2 4 n4 A NULL NULL NULL YES BTREE disabled
134
t1 1 n2 1 n2 A NULL NULL NULL YES BTREE disabled
135
t1 1 n2 2 n3 A NULL NULL NULL YES BTREE disabled
136
t1 1 n2 3 n4 A NULL NULL NULL YES BTREE disabled
137
t1 1 n2 4 n1 A NULL NULL NULL BTREE disabled
138
t1 1 n3 1 n3 A NULL NULL NULL YES BTREE disabled
139
t1 1 n3 2 n4 A NULL NULL NULL YES BTREE disabled
140
t1 1 n3 3 n1 A NULL NULL NULL BTREE disabled
141
t1 1 n3 4 n2 A NULL NULL NULL YES BTREE disabled
142
t1 1 n4 1 n4 A NULL NULL NULL YES BTREE disabled
143
t1 1 n4 2 n1 A NULL NULL NULL BTREE disabled
144
t1 1 n4 3 n2 A NULL NULL NULL YES BTREE disabled
145
t1 1 n4 4 n3 A NULL NULL NULL YES BTREE disabled
148
146
insert into t1 values(10,RAND()*1000,RAND()*1000,RAND());
149
147
insert into t1 values(9,RAND()*1000,RAND()*1000,RAND());
150
148
insert into t1 values(8,RAND()*1000,RAND()*1000,RAND());
155
153
insert into t1 values(3,RAND()*1000,RAND()*1000,RAND());
156
154
insert into t1 values(2,RAND()*1000,RAND()*1000,RAND());
157
155
insert into t1 values(1,RAND()*1000,RAND()*1000,RAND());
160
156
alter table t1 enable keys;
162
Note 1031 Table storage engine for 't1' doesn't have this option
163
157
show keys from t1;
164
158
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
165
t1 0 n1 1 n1 A 2 NULL NULL BTREE
166
t1 1 n1_2 1 n1 A 2 NULL NULL BTREE
167
t1 1 n1_2 2 n2 A 2 NULL NULL YES BTREE
168
t1 1 n1_2 3 n3 A 2 NULL NULL YES BTREE
169
t1 1 n1_2 4 n4 A 2 NULL NULL YES BTREE
170
t1 1 n2 1 n2 A 2 NULL NULL YES BTREE
171
t1 1 n2 2 n3 A 2 NULL NULL YES BTREE
172
t1 1 n2 3 n4 A 2 NULL NULL YES BTREE
173
t1 1 n2 4 n1 A 2 NULL NULL BTREE
174
t1 1 n3 1 n3 A 2 NULL NULL YES BTREE
175
t1 1 n3 2 n4 A 2 NULL NULL YES BTREE
176
t1 1 n3 3 n1 A 2 NULL NULL BTREE
177
t1 1 n3 4 n2 A 2 NULL NULL YES BTREE
178
t1 1 n4 1 n4 A 2 NULL NULL YES BTREE
179
t1 1 n4 2 n1 A 2 NULL NULL BTREE
180
t1 1 n4 3 n2 A 2 NULL NULL YES BTREE
181
t1 1 n4 4 n3 A 2 NULL NULL YES BTREE
159
t1 0 n1 1 n1 A 10 NULL NULL BTREE
160
t1 1 n1_2 1 n1 A 10 NULL NULL BTREE
161
t1 1 n1_2 2 n2 A 10 NULL NULL YES BTREE
162
t1 1 n1_2 3 n3 A 10 NULL NULL YES BTREE
163
t1 1 n1_2 4 n4 A 10 NULL NULL YES BTREE
164
t1 1 n2 1 n2 A 10 NULL NULL YES BTREE
165
t1 1 n2 2 n3 A 10 NULL NULL YES BTREE
166
t1 1 n2 3 n4 A 10 NULL NULL YES BTREE
167
t1 1 n2 4 n1 A 10 NULL NULL BTREE
168
t1 1 n3 1 n3 A 10 NULL NULL YES BTREE
169
t1 1 n3 2 n4 A 10 NULL NULL YES BTREE
170
t1 1 n3 3 n1 A 10 NULL NULL BTREE
171
t1 1 n3 4 n2 A 10 NULL NULL YES BTREE
172
t1 1 n4 1 n4 A 10 NULL NULL YES BTREE
173
t1 1 n4 2 n1 A 10 NULL NULL BTREE
174
t1 1 n4 3 n2 A 10 NULL NULL YES BTREE
175
t1 1 n4 4 n3 A 10 NULL NULL YES BTREE
183
create table t1 (i int not null auto_increment primary key);
177
create table t1 (i int unsigned not null auto_increment primary key);
184
178
alter table t1 rename t2;
185
179
alter table t2 rename t1, add c char(10) comment "no comment";
186
180
show columns from t1;
187
181
Field Type Null Key Default Extra
188
i int NO PRI NULL auto_increment
189
c varchar(10) YES NULL
182
i int(10) unsigned NO PRI NULL auto_increment
191
185
create table t1 (a int, b int);
194
186
insert into t1 values(1,100), (2,100), (3, 100);
195
187
insert into t1 values(1,99), (2,99), (3, 99);
196
188
insert into t1 values(1,98), (2,98), (3, 98);
291
283
insert into t1 values(1,3), (2,3), (3, 3);
292
284
insert into t1 values(1,2), (2,2), (3, 2);
293
285
insert into t1 values(1,1), (2,1), (3, 1);
296
286
alter table t1 add unique (a,b), add key (b);
297
287
show keys from t1;
298
288
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
299
t1 0 a 1 a A 6 NULL NULL YES BTREE
300
t1 0 a 2 b A 300 NULL NULL YES BTREE
301
t1 1 b 1 b A 300 NULL NULL YES BTREE
289
t1 0 a 1 a A NULL NULL NULL YES BTREE
290
t1 0 a 2 b A NULL NULL NULL YES BTREE
291
t1 1 b 1 b A 100 NULL NULL YES BTREE
302
292
analyze table t1;
303
293
Table Op Msg_type Msg_text
304
294
test.t1 analyze status OK
305
295
show keys from t1;
306
296
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
307
t1 0 a 1 a A 6 NULL NULL YES BTREE
297
t1 0 a 1 a A 3 NULL NULL YES BTREE
308
298
t1 0 a 2 b A 300 NULL NULL YES BTREE
309
t1 1 b 1 b A 300 NULL NULL YES BTREE
299
t1 1 b 1 b A 100 NULL NULL YES BTREE
301
CREATE TABLE t1 (i int(10), index(i) );
302
ALTER TABLE t1 DISABLE KEYS;
303
INSERT DELAYED INTO t1 VALUES(1),(2),(3);
304
ALTER TABLE t1 ENABLE KEYS;
311
306
CREATE TABLE t1 (
312
307
Host varchar(16) binary NOT NULL default '',
396
391
insert into t1 (a) values(1);
397
392
show table status like 't1';
398
393
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
399
t1 MyISAM 10 Fixed 1 37 X X X X X X X X utf8_general_ci NULL
394
t1 MyISAM 10 Fixed 1 37 X X X X X X X X latin1_swedish_ci NULL
400
395
alter table t1 modify a int;
401
396
show table status like 't1';
402
397
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
403
t1 MyISAM 10 Fixed 1 37 X X X X X X X X utf8_general_ci NULL
398
t1 MyISAM 10 Fixed 1 37 X X X X X X X X latin1_swedish_ci NULL
405
create table t1 (a int not null default 0, b int not null default 0, c int not null default 0, d int not null default 0, e int not null default 0, f int not null default 0, g int not null default 0, h int not null default 0,i int not null default 0, primary key (a,b,c,d,e,f,g,i,h)) engine=MyISAM;
400
create table t1 (a int not null, b int not null, c int not null, d int not null, e int not null, f int not null, g int not null, h int not null,i int not null, primary key (a,b,c,d,e,f,g,i,h)) engine=MyISAM;
406
401
insert into t1 (a) values(1);
403
Warning 1364 Field 'b' doesn't have a default value
404
Warning 1364 Field 'c' doesn't have a default value
405
Warning 1364 Field 'd' doesn't have a default value
406
Warning 1364 Field 'e' doesn't have a default value
407
Warning 1364 Field 'f' doesn't have a default value
408
Warning 1364 Field 'g' doesn't have a default value
409
Warning 1364 Field 'h' doesn't have a default value
410
Warning 1364 Field 'i' doesn't have a default value
407
411
show table status like 't1';
408
412
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
409
t1 MyISAM 10 Fixed 1 37 X X X X X X X X utf8_general_ci NULL
413
t1 MyISAM 10 Fixed 1 37 X X X X X X X X latin1_swedish_ci NULL
416
create table t1 (a char(10) character set koi8r);
417
insert into t1 values ('����');
418
select a,hex(a) from t1;
421
alter table t1 change a a char(10) character set cp1251;
422
select a,hex(a) from t1;
425
alter table t1 change a a binary(4);
426
select a,hex(a) from t1;
429
alter table t1 change a a char(10) character set cp1251;
430
select a,hex(a) from t1;
433
alter table t1 change a a char(10) character set koi8r;
434
select a,hex(a) from t1;
437
alter table t1 change a a varchar(10) character set cp1251;
438
select a,hex(a) from t1;
441
alter table t1 change a a char(10) character set koi8r;
442
select a,hex(a) from t1;
445
alter table t1 change a a text character set cp1251;
446
select a,hex(a) from t1;
449
alter table t1 change a a char(10) character set koi8r;
450
select a,hex(a) from t1;
454
show create table t1;
456
t1 CREATE TABLE `t1` (
457
`a` char(10) CHARACTER SET koi8r DEFAULT NULL
458
) ENGINE=MyISAM DEFAULT CHARSET=latin1
459
alter table t1 DEFAULT CHARACTER SET latin1;
460
show create table t1;
462
t1 CREATE TABLE `t1` (
463
`a` char(10) CHARACTER SET koi8r DEFAULT NULL
464
) ENGINE=MyISAM DEFAULT CHARSET=latin1
465
alter table t1 CONVERT TO CHARACTER SET latin1;
466
show create table t1;
468
t1 CREATE TABLE `t1` (
469
`a` char(10) DEFAULT NULL
470
) ENGINE=MyISAM DEFAULT CHARSET=latin1
471
alter table t1 DEFAULT CHARACTER SET cp1251;
472
show create table t1;
474
t1 CREATE TABLE `t1` (
475
`a` char(10) CHARACTER SET latin1 DEFAULT NULL
476
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
478
create table t1 (myblob longblob,mytext longtext)
479
default charset latin1 collate latin1_general_cs;
480
show create table t1;
482
t1 CREATE TABLE `t1` (
484
`mytext` longtext COLLATE latin1_general_cs
485
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs
486
alter table t1 character set latin2;
487
show create table t1;
489
t1 CREATE TABLE `t1` (
491
`mytext` longtext CHARACTER SET latin1 COLLATE latin1_general_cs
492
) ENGINE=MyISAM DEFAULT CHARSET=latin2
411
494
CREATE TABLE t1 (a int PRIMARY KEY, b INT UNIQUE);
412
495
ALTER TABLE t1 DROP PRIMARY KEY;
413
496
SHOW CREATE TABLE t1;
414
497
Table Create Table
415
498
t1 CREATE TABLE `t1` (
499
`a` int(11) NOT NULL,
500
`b` int(11) DEFAULT NULL,
418
501
UNIQUE KEY `b` (`b`)
502
) ENGINE=MyISAM DEFAULT CHARSET=latin1
420
503
ALTER TABLE t1 DROP PRIMARY KEY;
421
504
ERROR 42000: Can't DROP 'PRIMARY'; check that column/key exists
438
531
create table t1 (a int, key(a));
439
532
show indexes from t1;
440
533
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
441
t1 1 a 1 a A 0 NULL NULL YES BTREE
534
t1 1 a 1 a A NULL NULL NULL YES BTREE
442
535
"this used not to disable the index"
443
alter table t1 modify a int;
444
show indexes from t1;
445
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
446
t1 1 a 1 a A 0 NULL NULL YES BTREE
447
alter table t1 enable keys;
449
Note 1031 Table storage engine for 't1' doesn't have this option
450
show indexes from t1;
451
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
452
t1 1 a 1 a A 0 NULL NULL YES BTREE
453
alter table t1 modify a bigint;
454
show indexes from t1;
455
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
456
t1 1 a 1 a A 0 NULL NULL YES BTREE
457
alter table t1 enable keys;
459
Note 1031 Table storage engine for 't1' doesn't have this option
460
show indexes from t1;
461
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
462
t1 1 a 1 a A 0 NULL NULL YES BTREE
463
alter table t1 add b char(10);
464
show indexes from t1;
465
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
466
t1 1 a 1 a A 0 NULL NULL YES BTREE
467
alter table t1 add c decimal(10,2);
468
show indexes from t1;
469
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
470
t1 1 a 1 a A 0 NULL NULL YES BTREE
536
alter table t1 modify a int, disable keys;
537
show indexes from t1;
538
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
539
t1 1 a 1 a A NULL NULL NULL YES BTREE disabled
540
alter table t1 enable keys;
541
show indexes from t1;
542
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
543
t1 1 a 1 a A NULL NULL NULL YES BTREE
544
alter table t1 modify a bigint, disable keys;
545
show indexes from t1;
546
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
547
t1 1 a 1 a A NULL NULL NULL YES BTREE disabled
548
alter table t1 enable keys;
549
show indexes from t1;
550
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
551
t1 1 a 1 a A NULL NULL NULL YES BTREE
552
alter table t1 add b char(10), disable keys;
553
show indexes from t1;
554
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
555
t1 1 a 1 a A NULL NULL NULL YES BTREE disabled
556
alter table t1 add c decimal(10,2), enable keys;
557
show indexes from t1;
558
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
559
t1 1 a 1 a A NULL NULL NULL YES BTREE
471
560
"this however did"
561
alter table t1 disable keys;
473
562
show indexes from t1;
474
563
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
475
t1 1 a 1 a A 0 NULL NULL YES BTREE
564
t1 1 a 1 a A NULL NULL NULL YES BTREE disabled
477
566
Field Type Null Key Default Extra
478
a bigint YES MUL NULL
479
b varchar(10) YES NULL
567
a bigint(20) YES MUL NULL
480
569
c decimal(10,2) YES NULL
481
570
alter table t1 add d decimal(15,5);
482
571
"The key should still be disabled"
483
572
show indexes from t1;
484
573
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
485
t1 1 a 1 a A 0 NULL NULL YES BTREE
574
t1 1 a 1 a A NULL NULL NULL YES BTREE disabled
487
576
"Now will test with one unique index"
488
577
create table t1(a int, b char(10), unique(a));
489
578
show indexes from t1;
490
579
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
491
t1 0 a 1 a A 0 NULL NULL YES BTREE
580
t1 0 a 1 a A NULL NULL NULL YES BTREE
581
alter table t1 disable keys;
493
582
show indexes from t1;
494
583
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
495
t1 0 a 1 a A 0 NULL NULL YES BTREE
584
t1 0 a 1 a A NULL NULL NULL YES BTREE
496
585
alter table t1 enable keys;
498
Note 1031 Table storage engine for 't1' doesn't have this option
499
586
"If no copy on noop change, this won't touch the data file"
500
587
"Unique index, no change"
501
alter table t1 modify a int;
588
alter table t1 modify a int, disable keys;
502
589
show indexes from t1;
503
590
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
504
t1 0 a 1 a A 0 NULL NULL YES BTREE
591
t1 0 a 1 a A NULL NULL NULL YES BTREE
505
592
"Change the type implying data copy"
506
593
"Unique index, no change"
507
alter table t1 modify a bigint;
508
show indexes from t1;
509
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
510
t1 0 a 1 a A 0 NULL NULL YES BTREE
511
alter table t1 modify a bigint;
512
show indexes from t1;
513
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
514
t1 0 a 1 a A 0 NULL NULL YES BTREE
594
alter table t1 modify a bigint, disable keys;
595
show indexes from t1;
596
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
597
t1 0 a 1 a A NULL NULL NULL YES BTREE
598
alter table t1 modify a bigint;
599
show indexes from t1;
600
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
601
t1 0 a 1 a A NULL NULL NULL YES BTREE
515
602
alter table t1 modify a int;
516
603
show indexes from t1;
517
604
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
518
t1 0 a 1 a A 0 NULL NULL YES BTREE
605
t1 0 a 1 a A NULL NULL NULL YES BTREE
520
607
"Now will test with one unique and one non-unique index"
521
608
create table t1(a int, b char(10), unique(a), key(b));
522
609
show indexes from t1;
523
610
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
524
t1 0 a 1 a A 0 NULL NULL YES BTREE
525
t1 1 b 1 b A 0 NULL NULL YES BTREE
611
t1 0 a 1 a A NULL NULL NULL YES BTREE
612
t1 1 b 1 b A NULL NULL NULL YES BTREE
613
alter table t1 disable keys;
527
614
show indexes from t1;
528
615
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
529
t1 0 a 1 a A 0 NULL NULL YES BTREE
530
t1 1 b 1 b A 0 NULL NULL YES BTREE
616
t1 0 a 1 a A NULL NULL NULL YES BTREE
617
t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
531
618
alter table t1 enable keys;
533
Note 1031 Table storage engine for 't1' doesn't have this option
534
619
"If no copy on noop change, this won't touch the data file"
535
620
"The non-unique index will be disabled"
536
alter table t1 modify a int;
621
alter table t1 modify a int, disable keys;
537
622
show indexes from t1;
538
623
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
539
t1 0 a 1 a A 0 NULL NULL YES BTREE
540
t1 1 b 1 b A 0 NULL NULL YES BTREE
624
t1 0 a 1 a A NULL NULL NULL YES BTREE
625
t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
541
626
alter table t1 enable keys;
543
Note 1031 Table storage engine for 't1' doesn't have this option
544
627
show indexes from t1;
545
628
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
546
t1 0 a 1 a A 0 NULL NULL YES BTREE
547
t1 1 b 1 b A 0 NULL NULL YES BTREE
629
t1 0 a 1 a A NULL NULL NULL YES BTREE
630
t1 1 b 1 b A NULL NULL NULL YES BTREE
548
631
"Change the type implying data copy"
549
632
"The non-unique index will be disabled"
550
alter table t1 modify a bigint;
633
alter table t1 modify a bigint, disable keys;
551
634
show indexes from t1;
552
635
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
553
t1 0 a 1 a A 0 NULL NULL YES BTREE
554
t1 1 b 1 b A 0 NULL NULL YES BTREE
636
t1 0 a 1 a A NULL NULL NULL YES BTREE
637
t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
555
638
"Change again the type, but leave the indexes as_is"
556
639
alter table t1 modify a int;
557
640
show indexes from t1;
558
641
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
559
t1 0 a 1 a A 0 NULL NULL YES BTREE
560
t1 1 b 1 b A 0 NULL NULL YES BTREE
642
t1 0 a 1 a A NULL NULL NULL YES BTREE
643
t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
561
644
"Try the same. When data is no copied on similar tables, this is noop"
562
645
alter table t1 modify a int;
563
646
show indexes from t1;
564
647
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
565
t1 0 a 1 a A 0 NULL NULL YES BTREE
566
t1 1 b 1 b A 0 NULL NULL YES BTREE
648
t1 0 a 1 a A NULL NULL NULL YES BTREE
649
t1 1 b 1 b A NULL NULL NULL YES BTREE disabled
568
651
create database mysqltest;
569
652
create table t1 (c1 int);
795
897
alter table t1 change i i bigint;
796
898
select * from t1;
802
904
alter table t1 add unique key (i, v);
803
905
select * from t1 where i between 2 and 4 and v in ('def','3r4f','lmn');
807
create table t1 (t varchar(255) default null, key t (t(80))) engine=myisam;
909
create table t1 (t varchar(255) default null, key t (t(80)))
910
engine=myisam default charset=latin1;
808
911
alter table t1 change t t text;
913
CREATE TABLE t1 (a varchar(500));
914
ALTER TABLE t1 ADD b GEOMETRY NOT NULL, ADD SPATIAL INDEX(b);
915
SHOW CREATE TABLE t1;
917
t1 CREATE TABLE `t1` (
918
`a` varchar(500) DEFAULT NULL,
919
`b` geometry NOT NULL,
920
SPATIAL KEY `b` (`b`)
921
) ENGINE=MyISAM DEFAULT CHARSET=latin1
922
ALTER TABLE t1 ADD KEY(b(50));
923
SHOW CREATE TABLE t1;
925
t1 CREATE TABLE `t1` (
926
`a` varchar(500) DEFAULT NULL,
927
`b` geometry NOT NULL,
928
SPATIAL KEY `b` (`b`),
930
) ENGINE=MyISAM DEFAULT CHARSET=latin1
931
ALTER TABLE t1 ADD c POINT;
932
SHOW CREATE TABLE t1;
934
t1 CREATE TABLE `t1` (
935
`a` varchar(500) DEFAULT NULL,
936
`b` geometry NOT NULL,
937
`c` point DEFAULT NULL,
938
SPATIAL KEY `b` (`b`),
940
) ENGINE=MyISAM DEFAULT CHARSET=latin1
941
CREATE TABLE t2 (a INT, KEY (a(20)));
942
ERROR HY000: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
943
ALTER TABLE t1 ADD d INT;
944
ALTER TABLE t1 ADD KEY (d(20));
945
ERROR HY000: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
946
ALTER TABLE t1 ADD e GEOMETRY NOT NULL, ADD SPATIAL KEY (e(30));
947
ERROR HY000: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
810
949
CREATE TABLE t1 (s CHAR(8) BINARY);
811
950
INSERT INTO t1 VALUES ('test');
812
951
SELECT LENGTH(s) FROM t1;
934
1094
SHOW CREATE TABLE `#sql2`;
935
1095
Table Create Table
936
1096
#sql2 CREATE TEMPORARY TABLE `#sql2` (
1097
`c1` int(11) DEFAULT NULL
1098
) ENGINE=MyISAM DEFAULT CHARSET=latin1
939
1099
SHOW CREATE TABLE `@0023sql1`;
940
1100
Table Create Table
941
1101
@0023sql1 CREATE TEMPORARY TABLE `@0023sql1` (
1102
`c1` int(11) DEFAULT NULL
1103
) ENGINE=MyISAM DEFAULT CHARSET=latin1
944
1104
DROP TABLE `#sql2`, `@0023sql1`;
945
1105
DROP TABLE IF EXISTS t1;
946
1106
DROP TABLE IF EXISTS t2;
947
1107
CREATE TABLE t1 (
948
int_field INTEGER NOT NULL,
1108
int_field INTEGER UNSIGNED NOT NULL,
949
1109
char_field CHAR(10),
950
1110
INDEX(`int_field`)
953
1113
Field Type Null Key Default Extra
954
int_field int NO MUL NULL
955
char_field varchar(10) YES NULL
1114
int_field int(10) unsigned NO MUL NULL
1115
char_field char(10) YES NULL
956
1116
SHOW INDEXES FROM t1;
957
1117
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
958
t1 1 int_field 1 int_field A 0 NULL NULL BTREE
1118
t1 1 int_field 1 int_field A NULL NULL NULL BTREE
959
1119
INSERT INTO t1 VALUES (1, "edno"), (1, "edno"), (2, "dve"), (3, "tri"), (5, "pet");
960
1120
"Non-copy data change - new frm, but old data and index files"
961
ALTER TABLE t1 CHANGE int_field unsigned_int_field INTEGER NOT NULL, RENAME t2;
1122
CHANGE int_field unsigned_int_field INTEGER UNSIGNED NOT NULL,
962
1124
SELECT * FROM t1 ORDER BY int_field;
963
1125
ERROR 42S02: Table 'test.t1' doesn't exist
964
1126
SELECT * FROM t2 ORDER BY unsigned_int_field;