124
124
INSERT INTO t1 VALUES (1, 1, 1, 1, 'a');
125
125
ERROR 23000: Duplicate entry '1-1-1-1-a' for key 'PRIMARY'
127
CREATE TEMPORARY TABLE t1 (
128
128
a tinytext NOT NULL,
129
129
b int NOT NULL default '0',
130
130
PRIMARY KEY (a(32),b)
144
144
create table t1 (a int not null unique, b int unique, c int, d int not null primary key, key(c), e int not null unique);
145
145
show keys from t1;
146
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
147
t1 0 PRIMARY 1 d A 0 NULL NULL BTREE
148
t1 0 a 1 a A 0 NULL NULL BTREE
149
t1 0 e 1 e A 0 NULL NULL BTREE
150
t1 0 b 1 b A 0 NULL NULL YES BTREE
151
t1 1 c 1 c A 0 NULL NULL YES BTREE
146
Table Unique Key_name Seq_in_index Column_name
153
153
CREATE TABLE t1 (c VARCHAR(10) NOT NULL,i INT PRIMARY KEY NOT NULL AUTO_INCREMENT, UNIQUE (c,i));
154
154
INSERT INTO t1 (c) VALUES (NULL),(NULL);
178
CREATE TABLE t1 (id int auto_increment, name char(50), primary key (id)) engine=myisam;
178
CREATE TEMPORARY TABLE t1 (id int auto_increment, name char(50), primary key (id)) engine=myisam;
179
179
insert into t1 (name) values ('a'), ('b'),('c'),('d'),('e'),('f'),('g');
180
180
explain select 1 from t1 where id =2;
181
181
id select_type table type possible_keys key key_len ref rows Extra
207
create table t1 (c varchar(30), t text, unique (c(2)), unique (t(3))) engine=myisam;
207
create temporary table t1 (c varchar(30), t text, unique (c(2)), unique (t(3))) engine=myisam;
208
208
show create table t1;
209
209
Table Create Table
210
t1 CREATE TABLE `t1` (
213
UNIQUE KEY `c` (`c`()),
214
UNIQUE KEY `t` (`t`())
210
t1 CREATE TEMPORARY TABLE `t1` (
211
`c` VARCHAR(30) COLLATE utf8_general_ci DEFAULT NULL,
212
`t` TEXT COLLATE utf8_general_ci,
213
UNIQUE KEY `c` (`c`(2)) USING BTREE,
214
UNIQUE KEY `t` (`t`(3)) USING BTREE
215
) ENGINE=MyISAM COLLATE = utf8_general_ci
216
216
insert t1 values ('cccc', 'tttt'),
217
217
(0xD0B1212223D0B1D0B1D0B1D0B1D0B1, 0xD0B1D0B1212223D0B1D0B1D0B1D0B1),
218
218
(0xD0B1222123D0B1D0B1D0B1D0B1D0B1, 0xD0B1D0B1222123D0B1D0B1D0B1D0B1);
301
301
UNIQUE i1idx (i1),
302
302
UNIQUE i2idx (i2));
304
Field Type Null Key Default Extra
304
Field Type Null Default Default_is_NULL On_Update
307
307
show create table t1;
308
308
Table Create Table
309
309
t1 CREATE TABLE `t1` (
312
UNIQUE KEY `i1idx` (`i1`),
313
UNIQUE KEY `i2idx` (`i2`)
312
UNIQUE KEY `i1idx` (`i1`) USING BTREE,
313
UNIQUE KEY `i2idx` (`i2`) USING BTREE
314
) ENGINE=InnoDB COLLATE = utf8_general_ci
316
create temporary table t1 (
318
318
c2 varchar(20) not null,
319
319
primary key (c1),
334
334
show create table t1;
335
335
Table Create Table
336
336
t1 CREATE TABLE `t1` (
337
`a` VARCHAR(10) COLLATE utf8_general_ci DEFAULT NULL,
338
`b` VARCHAR(10) COLLATE utf8_general_ci DEFAULT NULL,
339
KEY `a` (`a`,`b`) USING BTREE
340
) ENGINE=InnoDB COLLATE = utf8_general_ci
341
341
alter table t1 modify b varchar(20);
342
342
show create table t1;
343
343
Table Create Table
344
344
t1 CREATE TABLE `t1` (
345
`a` VARCHAR(10) COLLATE utf8_general_ci DEFAULT NULL,
346
`b` VARCHAR(20) COLLATE utf8_general_ci DEFAULT NULL,
347
KEY `a` (`a`,`b`) USING BTREE
348
) ENGINE=InnoDB COLLATE = utf8_general_ci
349
349
alter table t1 modify a varchar(20);
350
350
show create table t1;
351
351
Table Create Table
352
352
t1 CREATE TABLE `t1` (
353
`a` VARCHAR(20) COLLATE utf8_general_ci DEFAULT NULL,
354
`b` VARCHAR(20) COLLATE utf8_general_ci DEFAULT NULL,
355
KEY `a` (`a`,`b`) USING BTREE
356
) ENGINE=InnoDB COLLATE = utf8_general_ci
358
358
create table t1 (a int not null primary key, b varchar(20) not null unique);
360
Field Type Null Key Default Extra
362
b varchar(20) NO UNI NULL
360
Field Type Null Default Default_is_NULL On_Update
364
364
create table t1 (a int not null primary key, b int not null unique);
366
Field Type Null Key Default Extra
366
Field Type Null Default Default_is_NULL On_Update
370
370
create table t1 (a int not null primary key, b varchar(20) not null, unique (b(10)));
372
Field Type Null Key Default Extra
374
b varchar(20) NO UNI NULL
372
Field Type Null Default Default_is_NULL On_Update
376
376
create table t1 (a int not null primary key, b varchar(20) not null, c varchar(20) not null, unique(b(10),c(10)));
378
Field Type Null Key Default Extra
380
b varchar(20) NO MUL NULL
381
c varchar(20) NO NULL
378
Field Type Null Default Default_is_NULL On_Update
383
383
create table t1 (
396
396
show create table t1;
397
397
Table Create Table
398
398
t1 CREATE TABLE `t1` (
400
`c2` varchar(12) NOT NULL,
401
`c3` varchar(123) NOT NULL,
402
`c4` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
403
PRIMARY KEY (`c2`,`c3`),
404
UNIQUE KEY `i4` (`c4`),
409
KEY `i5` (`c1`,`c2`,`c3`,`c4`),
399
`c1` INT DEFAULT NULL,
400
`c2` VARCHAR(12) COLLATE utf8_general_ci NOT NULL,
401
`c3` VARCHAR(123) COLLATE utf8_general_ci NOT NULL,
402
`c4` TIMESTAMP NULL DEFAULT NULL,
403
PRIMARY KEY (`c2`,`c3`) USING BTREE,
404
UNIQUE KEY `i4` (`c4`) USING BTREE,
405
KEY `c1` (`c1`) USING BTREE,
406
KEY `i1` (`c1`) USING BTREE,
407
KEY `i2` (`c2`) USING BTREE,
408
KEY `i3` (`c3`) USING BTREE,
409
KEY `i5` (`c1`,`c2`,`c3`,`c4`) USING BTREE,
410
KEY `c2` (`c2`,`c4`) USING BTREE
411
) ENGINE=InnoDB COLLATE = utf8_general_ci
412
412
alter table t1 drop index c1;
413
413
alter table t1 add index (c1);
414
414
alter table t1 add index (c1);
429
429
show create table t1;
430
430
Table Create Table
431
431
t1 CREATE TABLE `t1` (
433
`c2` varchar(12) NOT NULL,
434
`c3` varchar(123) NOT NULL,
435
`c4` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
437
KEY `i5` (`c1`,`c2`,`c3`,`c4`),
443
KEY `c2` (`c2`(),`c3`())
433
`c2` VARCHAR(12) COLLATE utf8_general_ci NOT NULL,
434
`c3` VARCHAR(123) COLLATE utf8_general_ci NOT NULL,
435
`c4` TIMESTAMP NULL DEFAULT NULL,
436
KEY `i1` (`c1`) USING BTREE,
437
KEY `i5` (`c1`,`c2`,`c3`,`c4`) USING BTREE,
438
KEY `c1` (`c1`) USING BTREE,
439
KEY `c1_2` (`c1`) USING BTREE,
440
KEY `i3` (`c3`) USING BTREE,
441
KEY `i2` (`c2`) USING BTREE,
442
KEY `i4` (`c4`) USING BTREE,
443
KEY `c2` (`c2`(4),`c3`(7)) USING BTREE
444
) ENGINE=InnoDB COLLATE = utf8_general_ci
445
445
insert into t1 values(1, 'a', 'a', NULL);
446
446
insert into t1 values(1, 'b', 'b', NULL);
447
447
alter table t1 drop index i3, drop index i2, drop index i1;
448
448
alter table t1 add index i3 (c3), add index i2 (c2), add unique index i1 (c1);
449
449
ERROR 23000: Duplicate entry '1' for key 'i1'
451
CREATE TABLE t1( a int, KEY(a) ) ENGINE=MyISAM;
451
CREATE TEMPORARY TABLE t1( a int, KEY(a) ) ENGINE=MyISAM;
452
452
INSERT INTO t1 VALUES( 1 );
453
453
ALTER TABLE t1 DISABLE KEYS;
454
454
EXPLAIN SELECT MAX(a) FROM t1 FORCE INDEX(a);
493
493
b char(10) not null, unique key bb(b(1)),
494
494
c char(4) not null, unique key cc(c));
496
Field Type Null Key Default Extra
498
b varchar(10) NO UNI NULL
499
c varchar(4) NO PRI NULL
496
Field Type Null Default Default_is_NULL On_Update
500
500
show create table t1;
501
501
Table Create Table
502
502
t1 CREATE TABLE `t1` (
504
`b` varchar(10) NOT NULL,
505
`c` varchar(4) NOT NULL,
506
UNIQUE KEY `cc` (`c`),
507
UNIQUE KEY `bb` (`b`()),
504
`b` VARCHAR(10) COLLATE utf8_general_ci NOT NULL,
505
`c` VARCHAR(4) COLLATE utf8_general_ci NOT NULL,
506
UNIQUE KEY `cc` (`c`) USING BTREE,
507
UNIQUE KEY `bb` (`b`(1)) USING BTREE,
508
KEY `aa` (`a`) USING BTREE
509
) ENGINE=InnoDB COLLATE = utf8_general_ci
511
511
create table t1(a int not null, key aa(a),
512
512
b char(10) not null, unique key bb(b(1)),
513
513
c char(4) not null);
515
Field Type Null Key Default Extra
517
b varchar(10) NO UNI NULL
515
Field Type Null Default Default_is_NULL On_Update
519
519
alter table t1 add unique key cc(c);
521
Field Type Null Key Default Extra
523
b varchar(10) NO UNI NULL
524
c varchar(4) NO PRI NULL
521
Field Type Null Default Default_is_NULL On_Update
525
525
show create table t1;
526
526
Table Create Table
527
527
t1 CREATE TABLE `t1` (
529
`b` varchar(10) NOT NULL,
530
`c` varchar(4) NOT NULL,
531
UNIQUE KEY `cc` (`c`),
532
UNIQUE KEY `bb` (`b`()),
529
`b` VARCHAR(10) COLLATE utf8_general_ci NOT NULL,
530
`c` VARCHAR(4) COLLATE utf8_general_ci NOT NULL,
531
UNIQUE KEY `cc` (`c`) USING BTREE,
532
UNIQUE KEY `bb` (`b`(1)) USING BTREE,
533
KEY `aa` (`a`) USING BTREE
534
) ENGINE=InnoDB COLLATE = utf8_general_ci
537
537
DROP TABLE IF EXISTS t1;