|
|
drop table if exists t1,t2,t3,t4;drop database if exists mysqltest;create table t1 (id int unsigned not null auto_increment, code tinyint unsigned not null, name char(20) not null, primary key (id), key (code), unique (name)) engine=innodb;insert into t1 (code, name) values (1, 'Tim'), (1, 'Monty'), (2, 'David'), (2, 'Erik'), (3, 'Sasha'), (3, 'Jeremy'), (4, 'Matt');select id, code, name from t1 order by id;id code name1 1 Tim2 1 Monty3 2 David4 2 Erik5 3 Sasha6 3 Jeremy7 4 Mattupdate ignore t1 set id = 8, name = 'Sinisa' where id < 3;select id, code, name from t1 order by id;id code name2 1 Monty3 2 David4 2 Erik5 3 Sasha6 3 Jeremy7 4 Matt8 1 Sinisaupdate ignore t1 set id = id + 10, name = 'Ralph' where id < 4;select id, code, name from t1 order by id;id code name3 2 David4 2 Erik5 3 Sasha6 3 Jeremy7 4 Matt8 1 Sinisa12 1 Ralphdrop table t1;CREATE TABLE t1 (id int(11) NOT NULL auto_increment,parent_id int(11) DEFAULT '0' NOT NULL,level tinyint(4) DEFAULT '0' NOT NULL,PRIMARY KEY (id),KEY parent_id (parent_id),KEY level (level)) engine=innodb;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);update t1 set parent_id=parent_id+100;select * from t1 where parent_id=102;id parent_id level8 102 29 102 215 102 2update t1 set id=id+1000;update t1 set id=1024 where id=1009;Got one of the listed errorsselect * from t1;id parent_id level1001 100 01002 101 11003 101 11004 101 11005 101 11006 101 11007 101 11008 102 21009 102 21015 102 21016 103 21017 103 21018 103 21019 103 21020 103 21021 104 21022 104 21024 104 21025 105 21026 105 21027 105 21028 105 21029 105 21030 105 21031 106 21032 106 21033 106 21034 106 21035 106 21036 107 21037 107 21038 107 21040 107 21157 100 01179 105 21183 104 21193 105 21202 107 21203 107 2update ignore t1 set id=id+1;select * from t1;id parent_id level1001 100 01002 101 11003 101 11004 101 11005 101 11006 101 11007 101 11008 102 21010 102 21015 102 21016 103 21017 103 21018 103 21019 103 21020 103 21021 104 21023 104 21024 104 21025 105 21026 105 21027 105 21028 105 21029 105 21030 105 21031 106 21032 106 21033 106 21034 106 21035 106 21036 107 21037 107 21039 107 21041 107 21158 100 01180 105 21184 104 21194 105 21202 107 21204 107 2update ignore t1 set id=1023 where id=1010;select * from t1 where parent_id=102;id parent_id level1008 102 21010 102 21015 102 2explain select level from t1 where level=1;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref level level 1 const # Using indexexplain select level,id from t1 where level=1;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref level level 1 const # Using indexexplain select level,id,parent_id from t1 where level=1;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref level level 1 const # select level,id from t1 where level=1;level id1 10021 10031 10041 10051 10061 1007select level,id,parent_id from t1 where level=1;level id parent_id1 1002 1011 1003 1011 1004 1011 1005 1011 1006 1011 1007 101optimize table t1;Table Op Msg_type Msg_texttest.t1 optimize status OKshow keys from t1;Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Commentt1 0 PRIMARY 1 id A # NULL NULL BTREE t1 1 parent_id 1 parent_id A # NULL NULL BTREE t1 1 level 1 level A # NULL NULL BTREE drop table t1;CREATE TABLE t1 (gesuchnr int(11) DEFAULT '0' NOT NULL,benutzer_id int(11) DEFAULT '0' NOT NULL,PRIMARY KEY (gesuchnr,benutzer_id)) engine=innodb;replace into t1 (gesuchnr,benutzer_id) values (2,1);replace into t1 (gesuchnr,benutzer_id) values (1,1);replace into t1 (gesuchnr,benutzer_id) values (1,1);select * from t1;gesuchnr benutzer_id1 12 1drop table t1;create table t1 (a int) engine=innodb;insert into t1 values (1), (2);optimize table t1;Table Op Msg_type Msg_texttest.t1 optimize status OKdelete from t1 where a = 1;select * from t1;a2check table t1;Table Op Msg_type Msg_texttest.t1 check status OKdrop table t1;create table t1 (a int,b varchar(20)) engine=innodb;insert into t1 values (1,""), (2,"testing");delete from t1 where a = 1;select * from t1;a b2 testingcreate index skr on t1 (a);insert into t1 values (3,""), (4,"testing");analyze table t1;Table Op Msg_type Msg_texttest.t1 analyze status OKshow keys from t1;Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Commentt1 1 skr 1 a A # NULL NULL YES BTREE drop table t1;create table t1 (a int,b varchar(20),key(a)) engine=innodb;insert into t1 values (1,""), (2,"testing");select * from t1 where a = 1;a b1 drop table t1;create table t1 (n int not null primary key) engine=innodb;set autocommit=0;insert into t1 values (4);rollback;select n, "after rollback" from t1;n after rollbackinsert into t1 values (4);commit;select n, "after commit" from t1;n after commit4 after commitcommit;insert into t1 values (5);insert into t1 values (4);ERROR 23000: Duplicate entry '4' for key 'PRIMARY'commit;select n, "after commit" from t1;n after commit4 after commit5 after commitset autocommit=1;insert into t1 values (6);insert into t1 values (4);ERROR 23000: Duplicate entry '4' for key 'PRIMARY'select n from t1;n456set autocommit=0;begin;savepoint `my_savepoint`;insert into t1 values (7);savepoint `savept2`;insert into t1 values (3);select n from t1;n34567savepoint savept3;rollback to savepoint savept2;rollback to savepoint savept3;ERROR 42000: SAVEPOINT savept3 does not existrollback to savepoint savept2;release savepoint `my_savepoint`;select n from t1;n4567rollback to savepoint `my_savepoint`;ERROR 42000: SAVEPOINT my_savepoint does not existrollback to savepoint savept2;ERROR 42000: SAVEPOINT savept2 does not existinsert into t1 values (8);savepoint sv;commit;savepoint sv;set autocommit=1;rollback;drop table t1;create table t1 (n int not null primary key) engine=innodb;start transaction;insert into t1 values (4);flush tables with read lock;commit;unlock tables;commit;select * from t1;n4drop table t1;create table t1 ( id int NOT NULL PRIMARY KEY, nom varchar(64)) engine=innodb;begin;insert into t1 values(1,'hamdouni');select id as afterbegin_id,nom as afterbegin_nom from t1;afterbegin_id afterbegin_nom1 hamdounirollback;select id as afterrollback_id,nom as afterrollback_nom from t1;afterrollback_id afterrollback_nomset autocommit=0;insert into t1 values(2,'mysql');select id as afterautocommit0_id,nom as afterautocommit0_nom from t1;afterautocommit0_id afterautocommit0_nom2 mysqlrollback;select id as afterrollback_id,nom as afterrollback_nom from t1;afterrollback_id afterrollback_nomset autocommit=1;drop table t1;CREATE TABLE t1 (id char(8) not null primary key, val int not null) engine=innodb;insert into t1 values ('pippo', 12);insert into t1 values ('pippo', 12);ERROR 23000: Duplicate entry 'pippo' for key 'PRIMARY'delete from t1;delete from t1 where id = 'pippo';select * from t1;id valinsert into t1 values ('pippo', 12);set autocommit=0;delete from t1;rollback;select * from t1;id valpippo 12delete from t1;commit;select * from t1;id valdrop table t1;create table t1 (a integer) engine=innodb;start transaction;rename table t1 to t2;create table t1 (b integer) engine=innodb;insert into t1 values (1);rollback;drop table t1;rename table t2 to t1;drop table t1;set autocommit=1;CREATE TABLE t1 (ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(64)) ENGINE=innodb;INSERT INTO t1 VALUES (1, 'Jochen');select * from t1;ID NAME1 Jochendrop table t1;CREATE TABLE t1 ( _userid VARCHAR(60) NOT NULL PRIMARY KEY) ENGINE=innodb;set autocommit=0;INSERT INTO t1 SET _userid='marc@anyware.co.uk';COMMIT;SELECT * FROM t1;_useridmarc@anyware.co.ukSELECT _userid FROM t1 WHERE _userid='marc@anyware.co.uk';_useridmarc@anyware.co.ukdrop table t1;set autocommit=1;CREATE TABLE t1 (user_id int(10) DEFAULT '0' NOT NULL,name varchar(100),phone varchar(100),ref_email varchar(100) DEFAULT '' NOT NULL,detail varchar(200),PRIMARY KEY (user_id,ref_email))engine=innodb;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');select * from t1 where user_id=10292;user_id name phone ref_email detail10292 sanjeev 29153373 sansh777@hotmail.com xxx10292 shirish 2333604 shirish@yahoo.com ddsds10292 sonali 323232 sonali@bolly.com filmstarINSERT INTO t1 VALUES (10291,'sanjeev','29153373','sansh777@hotmail.com','xxx'),(10293,'shirish','2333604','shirish@yahoo.com','ddsds');select * from t1 where user_id=10292;user_id name phone ref_email detail10292 sanjeev 29153373 sansh777@hotmail.com xxx10292 shirish 2333604 shirish@yahoo.com ddsds10292 sonali 323232 sonali@bolly.com filmstarselect * from t1 where user_id>=10292;user_id name phone ref_email detail10292 sanjeev 29153373 sansh777@hotmail.com xxx10292 shirish 2333604 shirish@yahoo.com ddsds10292 sonali 323232 sonali@bolly.com filmstar10293 shirish 2333604 shirish@yahoo.com ddsdsselect * from t1 where user_id>10292;user_id name phone ref_email detail10293 shirish 2333604 shirish@yahoo.com ddsdsselect * from t1 where user_id<10292;user_id name phone ref_email detail10291 sanjeev 29153373 sansh777@hotmail.com xxxdrop table t1;CREATE TABLE t1 (a int not null, b int not null,c int not null,key(a),primary key(a,b), unique(c),key(a),unique(b));show index from t1;Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Commentt1 0 PRIMARY 1 a A # NULL NULL BTREE t1 0 PRIMARY 2 b A # NULL NULL BTREE t1 0 c 1 c A # NULL NULL BTREE t1 0 b 1 b A # NULL NULL BTREE t1 1 a 1 a A # NULL NULL BTREE t1 1 a_2 1 a A # NULL NULL BTREE drop table t1;create table t1 (col1 int not null, col2 char(4) not null, primary key(col1));alter table t1 engine=innodb;insert into t1 values ('1','1'),('5','2'),('2','3'),('3','4'),('4','4');select * from t1;col1 col21 12 33 44 45 2update t1 set col2='7' where col1='4';select * from t1;col1 col21 12 33 44 75 2alter table t1 add co3 int not null;select * from t1;col1 col2 co31 1 02 3 03 4 04 7 05 2 0update t1 set col2='9' where col1='2';select * from t1;col1 col2 co31 1 02 9 03 4 04 7 05 2 0drop table t1;create table t1 (a int not null , b int, primary key (a)) engine = innodb;create table t2 (a int not null , b int, primary key (a)) engine = myisam;insert into t1 VALUES (1,3) , (2,3), (3,3);select * from t1;a b1 32 33 3insert into t2 select * from t1;select * from t2;a b1 32 33 3delete from t1 where b = 3;select * from t1;a binsert into t1 select * from t2;select * from t1;a b1 32 33 3select * from t2;a b1 32 33 3drop table t1,t2;CREATE TABLE t1 (id int(11) NOT NULL auto_increment,ggid varchar(32) binary DEFAULT '' NOT NULL,email varchar(64) DEFAULT '' NOT NULL,passwd varchar(32) binary DEFAULT '' NOT NULL,PRIMARY KEY (id),UNIQUE ggid (ggid)) ENGINE=innodb;insert into t1 (ggid,passwd) values ('test1','xxx');insert into t1 (ggid,passwd) values ('test2','yyy');insert into t1 (ggid,passwd) values ('test2','this will fail');ERROR 23000: Duplicate entry 'test2' for key 'ggid'insert into t1 (ggid,id) values ('this will fail',1);ERROR 23000: Duplicate entry '1' for key 'PRIMARY'select * from t1 where ggid='test1';id ggid email passwd1 test1 xxxselect * from t1 where passwd='xxx';id ggid email passwd1 test1 xxxselect * from t1 where id=2;id ggid email passwd2 test2 yyyreplace into t1 (ggid,id) values ('this will work',1);replace into t1 (ggid,passwd) values ('test2','this will work');update t1 set id=100,ggid='test2' where id=1;ERROR 23000: Duplicate entry 'test2' for key 'ggid'select * from t1;id ggid email passwd1 this will work 3 test2 this will workselect * from t1 where id=1;id ggid email passwd1 this will work select * from t1 where id=999;id ggid email passwddrop table t1;CREATE TABLE t1 (user_name varchar(12),password text,subscribed char(1),user_id int(11) DEFAULT '0' NOT NULL,quota bigint(20),weight double,access_date date,access_time time,approved datetime,dummy_primary_key int(11) NOT NULL auto_increment,PRIMARY KEY (dummy_primary_key)) ENGINE=innodb;INSERT INTO t1 VALUES ('user_0','somepassword','N',0,0,0,'2000-09-07','23:06:59','2000-09-07 23:06:59',1);INSERT INTO t1 VALUES ('user_1','somepassword','Y',1,1,1,'2000-09-07','23:06:59','2000-09-07 23:06:59',2);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);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);INSERT INTO t1 VALUES ('user_4','somepassword','N',4,4,2,'2000-09-07','23:06:59','2000-09-07 23:06:59',5);select user_name, password , subscribed, user_id, quota, weight, access_date, access_time, approved, dummy_primary_key from t1 order by user_name;user_name password subscribed user_id quota weight access_date access_time approved dummy_primary_keyuser_0 somepassword N 0 0 0 2000-09-07 23:06:59 2000-09-07 23:06:59 1user_1 somepassword Y 1 1 1 2000-09-07 23:06:59 2000-09-07 23:06:59 2user_2 somepassword N 2 2 1.4142135623731 2000-09-07 23:06:59 2000-09-07 23:06:59 3user_3 somepassword Y 3 3 1.7320508075689 2000-09-07 23:06:59 2000-09-07 23:06:59 4user_4 somepassword N 4 4 2 2000-09-07 23:06:59 2000-09-07 23:06:59 5drop table t1;CREATE TABLE t1 (id int(11) NOT NULL auto_increment,parent_id int(11) DEFAULT '0' NOT NULL,level tinyint(4) DEFAULT '0' NOT NULL,KEY (id),KEY parent_id (parent_id),KEY level (level)) engine=innodb;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);INSERT INTO t1 values (179,5,2);update t1 set parent_id=parent_id+100;select * from t1 where parent_id=102;id parent_id level8 102 29 102 215 102 2update t1 set id=id+1000;update t1 set id=1024 where id=1009;select * from t1;id parent_id level1001 100 01003 101 11004 101 11008 102 21024 102 21017 103 21022 104 21024 104 21028 105 21029 105 21030 105 21031 106 21032 106 21033 106 21203 107 21202 107 21020 103 21157 100 01193 105 21040 107 21002 101 11015 102 21006 101 11034 106 21035 106 21016 103 21007 101 11036 107 21018 103 21026 105 21027 105 21183 104 21038 107 21025 105 21037 107 21021 104 21019 103 21005 101 11179 105 2update ignore t1 set id=id+1;select * from t1;id parent_id level1002 100 01004 101 11005 101 11009 102 21025 102 21018 103 21023 104 21025 104 21029 105 21030 105 21031 105 21032 106 21033 106 21034 106 21204 107 21203 107 21021 103 21158 100 01194 105 21041 107 21003 101 11016 102 21007 101 11035 106 21036 106 21017 103 21008 101 11037 107 21019 103 21027 105 21028 105 21184 104 21039 107 21026 105 21038 107 21022 104 21020 103 21006 101 11180 105 2update ignore t1 set id=1023 where id=1010;select * from t1 where parent_id=102;id parent_id level1009 102 21025 102 21016 102 2explain select level from t1 where level=1;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref level level 1 const # Using indexselect level,id from t1 where level=1;level id1 10041 10051 10031 10071 10081 1006select level,id,parent_id from t1 where level=1;level id parent_id1 1004 1011 1005 1011 1003 1011 1007 1011 1008 1011 1006 101select level,id from t1 where level=1 order by id;level id1 10031 10041 10051 10061 10071 1008delete from t1 where level=1;select * from t1;id parent_id level1002 100 01009 102 21025 102 21018 103 21023 104 21025 104 21029 105 21030 105 21031 105 21032 106 21033 106 21034 106 21204 107 21203 107 21021 103 21158 100 01194 105 21041 107 21016 102 21035 106 21036 106 21017 103 21037 107 21019 103 21027 105 21028 105 21184 104 21039 107 21026 105 21038 107 21022 104 21020 103 21180 105 2drop table t1;CREATE TABLE t1 (sca_code char(6) NOT NULL,cat_code char(6) NOT NULL,sca_desc varchar(50),lan_code char(2) NOT NULL,sca_pic varchar(100),sca_sdesc varchar(50),sca_sch_desc varchar(16),PRIMARY KEY (sca_code, cat_code, lan_code),INDEX sca_pic (sca_pic)) engine = innodb ;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');select count(*) from t1 where sca_code = 'PD';count(*)1select count(*) from t1 where sca_code <= 'PD';count(*)1select count(*) from t1 where sca_pic is null;count(*)2alter table t1 drop index sca_pic, add index sca_pic (cat_code, sca_pic);select count(*) from t1 where sca_code='PD' and sca_pic is null;count(*)1select count(*) from t1 where cat_code='E';count(*)0alter table t1 drop index sca_pic, add index (sca_pic, cat_code);select count(*) from t1 where sca_code='PD' and sca_pic is null;count(*)1select count(*) from t1 where sca_pic >= 'n';count(*)1select sca_pic from t1 where sca_pic is null;sca_picNULLNULLupdate t1 set sca_pic="test" where sca_pic is null;delete from t1 where sca_code='pd';drop table t1;set @a:=now();CREATE TABLE t1 (a int not null, b timestamp not null, primary key (a)) engine=innodb;insert into t1 (a) values(1),(2),(3);select t1.a from t1 natural join t1 as t2 where t1.b >= @a order by t1.a;a123select a from t1 natural join t1 as t2 where b >= @a order by a;a123update t1 set a=5 where a=1;select a from t1;a235drop table t1;create table t1 (a varchar(100) not null, primary key(a), b int not null) engine=innodb;insert into t1 values("hello",1),("world",2);select * from t1 order by b desc;a bworld 2hello 1optimize table t1;Table Op Msg_type Msg_texttest.t1 optimize status OKshow keys from t1;Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Commentt1 0 PRIMARY 1 a A # NULL NULL BTREE drop table t1;create table t1 (i int, j int ) ENGINE=innodb;insert into t1 values (1,2);select * from t1 where i=1 and j=2;i j1 2create index ax1 on t1 (i,j);select * from t1 where i=1 and j=2;i j1 2drop table t1;CREATE TABLE t1 (a int3 unsigned NOT NULL,b int1 unsigned NOT NULL,UNIQUE (a, b)) ENGINE = innodb;INSERT INTO t1 VALUES (1, 1);SELECT MIN(B),MAX(b) FROM t1 WHERE t1.a = 1;MIN(B) MAX(b)1 1drop table t1;CREATE TABLE t1 (a int unsigned NOT NULL) engine=innodb;INSERT INTO t1 VALUES (1);SELECT * FROM t1;a1DROP TABLE t1;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 = innodb;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);explain select * from t1 where a > 0 and a < 50;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL # Using wheredrop table t1;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=innodb;insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJKL');LOCK TABLES t1 WRITE;insert into t1 values (99,1,2,'D'),(1,1,2,'D');ERROR 23000: Duplicate entry '1-1' for key 'PRIMARY'select id from t1;id012select id from t1;id012UNLOCK TABLES;DROP TABLE t1;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=innodb;insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJKL');LOCK TABLES t1 WRITE;begin;insert into t1 values (99,1,2,'D'),(1,1,2,'D');ERROR 23000: Duplicate entry '1-1' for key 'PRIMARY'select id from t1;id012insert ignore into t1 values (100,1,2,'D'),(1,1,99,'D');commit;select id,id3 from t1;id id30 01 12 2100 2UNLOCK TABLES;DROP TABLE t1;create table t1 (a char(20), unique (a(5))) engine=innodb;drop table t1;create table t1 (a char(20), index (a(5))) engine=innodb;show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `a` char(20) DEFAULT NULL, KEY `a` (`a`(5))) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t1;create temporary table t1 (a int not null auto_increment, primary key(a)) engine=innodb;insert into t1 values (NULL),(NULL),(NULL);delete from t1 where a=3;insert into t1 values (NULL);select * from t1;a124alter table t1 add b int;select * from t1;a b1 NULL2 NULL4 NULLdrop table t1;create table t1(id int auto_increment primary key,name varchar(32) not null,value text not null,uid int not null,unique key(name,uid)) engine=innodb;insert into t1 values (1,'one','one value',101),(2,'two','two value',102),(3,'three','three value',103);set insert_id=5;replace into t1 (value,name,uid) values ('other value','two',102);delete from t1 where uid=102;set insert_id=5;replace into t1 (value,name,uid) values ('other value','two',102);set insert_id=6;replace into t1 (value,name,uid) values ('other value','two',102);select * from t1;id name value uid1 one one value 1013 three three value 1036 two other value 102drop table t1;create database mysqltest;create table mysqltest.t1 (a int not null) engine= innodb;insert into mysqltest.t1 values(1);create table mysqltest.t2 (a int not null) engine= myisam;insert into mysqltest.t2 values(1);create table mysqltest.t3 (a int not null) engine= heap;insert into mysqltest.t3 values(1);commit;drop database mysqltest;show tables from mysqltest;ERROR 42000: Unknown database 'mysqltest'set autocommit=0;create table t1 (a int not null) engine= innodb;insert into t1 values(1),(2);truncate table t1;commit;truncate table t1;truncate table t1;select * from t1;ainsert into t1 values(1),(2);delete from t1;select * from t1;acommit;drop table t1;set autocommit=1;create table t1 (a int not null) engine= innodb;insert into t1 values(1),(2);truncate table t1;insert into t1 values(1),(2);select * from t1;a12truncate table t1;insert into t1 values(1),(2);delete from t1;select * from t1;adrop table t1;create table t1 (a int not null, b int not null, c int not null, primary key (a),key(b)) engine=innodb;insert into t1 values (3,3,3),(1,1,1),(2,2,2),(4,4,4);explain select * from t1 order by a;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 index NULL PRIMARY 4 NULL # explain select * from t1 order by b;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 index NULL b 4 NULL # explain select * from t1 order by c;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ALL NULL NULL NULL NULL # Using filesortexplain select a from t1 order by a;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 index NULL PRIMARY 4 NULL # Using indexexplain select b from t1 order by b;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 index NULL b 4 NULL # Using indexexplain select a,b from t1 order by b;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 index NULL b 4 NULL # Using indexexplain select a,b from t1;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 index NULL b 4 NULL # Using indexexplain select a,b,c from t1;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ALL NULL NULL NULL NULL # drop table t1;create table t1 (t int not null default 1, key (t)) engine=innodb;desc t1;Field Type Null Key Default Extrat int(11) NO MUL 1 drop table t1;CREATE TABLE t1 (number bigint(20) NOT NULL default '0',cname char(15) NOT NULL default '',carrier_id smallint(6) NOT NULL default '0',privacy tinyint(4) NOT NULL default '0',last_mod_date timestamp NOT NULL,last_mod_id smallint(6) NOT NULL default '0',last_app_date timestamp NOT NULL,last_app_id smallint(6) default '-1',version smallint(6) NOT NULL default '0',assigned_scps int(11) default '0',status tinyint(4) default '0') ENGINE=InnoDB;INSERT INTO t1 VALUES (4077711111,'SeanWheeler',90,2,20020111112846,500,00000000000000,-1,2,3,1);INSERT INTO t1 VALUES (9197722223,'berry',90,3,20020111112809,500,20020102114532,501,4,10,0);INSERT INTO t1 VALUES (650,'San Francisco',0,0,20011227111336,342,00000000000000,-1,1,24,1);INSERT INTO t1 VALUES (302467,'Sue\'s Subshop',90,3,20020109113241,500,20020102115111,501,7,24,0);INSERT INTO t1 VALUES (6014911113,'SudzCarwash',520,1,20020102115234,500,20020102115259,501,33,32768,0);INSERT INTO t1 VALUES (333,'tubs',99,2,20020109113440,501,20020109113440,500,3,10,0);CREATE TABLE t2 (number bigint(20) NOT NULL default '0',cname char(15) NOT NULL default '',carrier_id smallint(6) NOT NULL default '0',privacy tinyint(4) NOT NULL default '0',last_mod_date timestamp NOT NULL,last_mod_id smallint(6) NOT NULL default '0',last_app_date timestamp NOT NULL,last_app_id smallint(6) default '-1',version smallint(6) NOT NULL default '0',assigned_scps int(11) default '0',status tinyint(4) default '0') ENGINE=InnoDB;INSERT INTO t2 VALUES (4077711111,'SeanWheeler',0,2,20020111112853,500,00000000000000,-1,2,3,1);INSERT INTO t2 VALUES (9197722223,'berry',90,3,20020111112818,500,20020102114532,501,4,10,0);INSERT INTO t2 VALUES (650,'San Francisco',90,0,20020109113158,342,00000000000000,-1,1,24,1);INSERT INTO t2 VALUES (333,'tubs',99,2,20020109113453,501,20020109113453,500,3,10,0);select * from t1;number cname carrier_id privacy last_mod_date last_mod_id last_app_date last_app_id version assigned_scps status4077711111 SeanWheeler 90 2 2002-01-11 11:28:46 500 0000-00-00 00:00:00 -1 2 3 19197722223 berry 90 3 2002-01-11 11:28:09 500 2002-01-02 11:45:32 501 4 10 0650 San Francisco 0 0 2001-12-27 11:13:36 342 0000-00-00 00:00:00 -1 1 24 1302467 Sue's Subshop 90 3 2002-01-09 11:32:41 500 2002-01-02 11:51:11 501 7 24 06014911113 SudzCarwash 520 1 2002-01-02 11:52:34 500 2002-01-02 11:52:59 501 33 32768 0333 tubs 99 2 2002-01-09 11:34:40 501 2002-01-09 11:34:40 500 3 10 0select * from t2;number cname carrier_id privacy last_mod_date last_mod_id last_app_date last_app_id version assigned_scps status4077711111 SeanWheeler 0 2 2002-01-11 11:28:53 500 0000-00-00 00:00:00 -1 2 3 19197722223 berry 90 3 2002-01-11 11:28:18 500 2002-01-02 11:45:32 501 4 10 0650 San Francisco 90 0 2002-01-09 11:31:58 342 0000-00-00 00:00:00 -1 1 24 1333 tubs 99 2 2002-01-09 11:34:53 501 2002-01-09 11:34:53 500 3 10 0delete 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);select * from t1;number cname carrier_id privacy last_mod_date last_mod_id last_app_date last_app_id version assigned_scps status6014911113 SudzCarwash 520 1 2002-01-02 11:52:34 500 2002-01-02 11:52:59 501 33 32768 0333 tubs 99 2 2002-01-09 11:34:40 501 2002-01-09 11:34:40 500 3 10 0select * from t2;number cname carrier_id privacy last_mod_date last_mod_id last_app_date last_app_id version assigned_scps status333 tubs 99 2 2002-01-09 11:34:53 501 2002-01-09 11:34:53 500 3 10 0select * from t2;number cname carrier_id privacy last_mod_date last_mod_id last_app_date last_app_id version assigned_scps status333 tubs 99 2 2002-01-09 11:34:53 501 2002-01-09 11:34:53 500 3 10 0drop table t1,t2;create table t1 (id int unsigned not null auto_increment, code tinyint unsigned not null, name char(20) not null, primary key (id), key (code), unique (name)) engine=innodb;BEGIN;SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;SELECT @@tx_isolation,@@global.tx_isolation;@@tx_isolation @@global.tx_isolationSERIALIZABLE REPEATABLE-READinsert into t1 (code, name) values (1, 'Tim'), (1, 'Monty'), (2, 'David');select id, code, name from t1 order by id;id code name1 1 Tim2 1 Monty3 2 DavidCOMMIT;BEGIN;SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;insert into t1 (code, name) values (2, 'Erik'), (3, 'Sasha');select id, code, name from t1 order by id;id code name1 1 Tim2 1 Monty3 2 David4 2 Erik5 3 SashaCOMMIT;BEGIN;SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;insert into t1 (code, name) values (3, 'Jeremy'), (4, 'Matt');select id, code, name from t1 order by id;id code name1 1 Tim2 1 Monty3 2 David4 2 Erik5 3 Sasha6 3 Jeremy7 4 MattCOMMIT;DROP TABLE t1;create table t1 (n int(10), d int(10)) engine=innodb;create table t2 (n int(10), d int(10)) engine=innodb;insert into t1 values(1,1),(1,2);insert into t2 values(1,10),(2,20);UPDATE t1,t2 SET t1.d=t2.d,t2.d=30 WHERE t1.n=t2.n;select * from t1;n d1 101 10select * from t2;n d1 302 20drop table t1,t2;create table t1 (a int, b int) engine=innodb;insert into t1 values(20,null);select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 ont2.b=t3.a;b ifnull(t2.b,"this is null")NULL this is nullselect t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 ont2.b=t3.a order by 1;b ifnull(t2.b,"this is null")NULL this is nullinsert into t1 values(10,null);select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 ont2.b=t3.a order by 1;b ifnull(t2.b,"this is null")NULL this is nullNULL this is nulldrop table t1;create table t1 (a varchar(10) not null) engine=myisam;create table t2 (b varchar(10) not null unique) engine=innodb;select t1.a from t1,t2 where t1.a=t2.b;adrop table t1,t2;create table t1 (a int not null, b int, primary key (a)) engine = innodb;create table t2 (a int not null, b int, primary key (a)) engine = innodb;insert into t1 values (10, 20);insert into t2 values (10, 20);update t1, t2 set t1.b = 150, t2.b = t1.b where t2.a = t1.a and t1.a = 10;drop table t1,t2;CREATE TABLE t1 (id INT NOT NULL, PRIMARY KEY (id)) ENGINE=INNODB;CREATE TABLE t2 (id INT PRIMARY KEY, t1_id INT, INDEX par_ind (t1_id), FOREIGN KEY (t1_id) REFERENCES t1(id) ON DELETE CASCADE ) ENGINE=INNODB;insert into t1 set id=1;insert into t2 set id=1, t1_id=1;delete t1,t2 from t1,t2 where t1.id=t2.t1_id;select * from t1;idselect * from t2;id t1_iddrop table t2,t1;CREATE TABLE t1(id INT NOT NULL, PRIMARY KEY (id)) ENGINE=INNODB;CREATE TABLE t2(id INT PRIMARY KEY, t1_id INT, INDEX par_ind (t1_id) ) ENGINE=INNODB;INSERT INTO t1 VALUES(1);INSERT INTO t2 VALUES(1, 1);SELECT * from t1;id1UPDATE t1,t2 SET t1.id=t1.id+1, t2.t1_id=t1.id+1;SELECT * from t1;id2UPDATE t1,t2 SET t1.id=t1.id+1 where t1.id!=t2.id;SELECT * from t1;id3DROP TABLE t1,t2;set autocommit=0;CREATE TABLE t1 (id CHAR(15) NOT NULL, value CHAR(40) NOT NULL, PRIMARY KEY(id)) ENGINE=InnoDB;CREATE TABLE t2 (id CHAR(15) NOT NULL, value CHAR(40) NOT NULL, PRIMARY KEY(id)) ENGINE=InnoDB;CREATE TABLE t3 (id1 CHAR(15) NOT NULL, id2 CHAR(15) NOT NULL, PRIMARY KEY(id1, id2)) ENGINE=InnoDB;INSERT INTO t3 VALUES("my-test-1", "my-test-2");COMMIT;INSERT INTO t1 VALUES("this-key", "will disappear");INSERT INTO t2 VALUES("this-key", "will also disappear");DELETE FROM t3 WHERE id1="my-test-1";SELECT * FROM t1;id valuethis-key will disappearSELECT * FROM t2;id valuethis-key will also disappearSELECT * FROM t3;id1 id2ROLLBACK;SELECT * FROM t1;id valueSELECT * FROM t2;id valueSELECT * FROM t3;id1 id2my-test-1 my-test-2SELECT * FROM t3 WHERE id1="my-test-1" LOCK IN SHARE MODE;id1 id2my-test-1 my-test-2COMMIT;set autocommit=1;DROP TABLE t1,t2,t3;CREATE TABLE t1 (a int not null primary key, b int not null, unique (b)) engine=innodb;INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9);UPDATE t1 set a=a+100 where b between 2 and 3 and a < 1000;SELECT * from t1;a b1 1102 2103 34 45 56 67 78 89 9drop table t1;CREATE TABLE t1 (a int not null primary key, b int not null, key (b)) engine=innodb;CREATE TABLE t2 (a int not null primary key, b int not null, key (b)) engine=innodb;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);INSERT INTO t2 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9);update t1,t2 set t1.a=t1.a+100;select * from t1;a b101 1102 2103 3104 4105 5106 6107 7108 8109 9110 10111 11112 12update t1,t2 set t1.a=t1.a+100 where t1.a=101;select * from t1;a b201 1102 2103 3104 4105 5106 6107 7108 8109 9110 10111 11112 12update t1,t2 set t1.b=t1.b+10 where t1.b=2;select * from t1;a b201 1103 3104 4105 5106 6107 7108 8109 9110 10111 11102 12112 12update 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;select * from t1;a b201 1103 5104 6106 6105 7107 7108 8109 9110 10111 11102 12112 12select * from t2;a b1 12 26 67 78 89 93 134 145 15drop table t1,t2;CREATE TABLE t2 ( NEXT_T BIGINT NOT NULL PRIMARY KEY) ENGINE=MyISAM;CREATE TABLE t1 ( B_ID INTEGER NOT NULL PRIMARY KEY) ENGINE=InnoDB;SET AUTOCOMMIT=0;INSERT INTO t1 ( B_ID ) VALUES ( 1 );INSERT INTO t2 ( NEXT_T ) VALUES ( 1 );ROLLBACK;Warnings:Warning 1196 Some non-transactional changed tables couldn't be rolled backSELECT * FROM t1;B_IDdrop table t1,t2;create table t1 ( pk int primary key, parent int not null, child int not null, index (parent) ) engine = innodb;insert into t1 values (1,0,4), (2,1,3), (3,2,1), (4,1,2);select distinct parent,child from t1 order by parent;parent child0 41 21 32 1drop table t1;create table t1 (a int not null auto_increment primary key, b int, c int, key(c)) engine=innodb;create table t2 (a int not null auto_increment primary key, b int);insert into t1 (b) values (null),(null),(null),(null),(null),(null),(null);insert into t2 (a) select b from t1;insert into t1 (b) select b from t2;insert into t2 (a) select b from t1;insert into t1 (a) select b from t2;insert into t2 (a) select b from t1;insert into t1 (a) select b from t2;insert into t2 (a) select b from t1;insert into t1 (a) select b from t2;insert into t2 (a) select b from t1;insert into t1 (a) select b from t2;select count(*) from t1;count(*)623explain select * from t1 where c between 1 and 2500;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 range c c 5 NULL # Using whereupdate t1 set c=a;explain select * from t1 where c between 1 and 2500;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ALL c NULL NULL NULL # Using wheredrop table t1,t2;create table t1 (id int primary key auto_increment, fk int, index index_fk (fk)) engine=innodb;insert into t1 (id) values (null),(null),(null),(null),(null);update t1 set fk=69 where fk is null order by id limit 1;SELECT * from t1;id fk2 NULL3 NULL4 NULL5 NULL1 69drop table t1;create table t1 (a int not null, b int not null, key (a));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);SET @tmp=0;update t1 set b=(@tmp:=@tmp+1) order by a;update t1 set b=99 where a=1 order by b asc limit 1;update t1 set b=100 where a=1 order by b desc limit 2;update t1 set a=a+10+b where a=1 order by b;select * from t1 order by a,b;a b2 42 52 63 73 83 93 103 113 1213 2111 100111 100drop table t1;create table t1 ( c char(8) not null ) engine=innodb;insert into t1 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9');insert into t1 values ('A'),('B'),('C'),('D'),('E'),('F');alter table t1 add b char(8) not null;alter table t1 add a char(8) not null;alter table t1 add primary key (a,b,c);update t1 set a=c, b=c;create table t2 (c char(8) not null, b char(8) not null, a char(8) not null, primary key(a,b,c)) engine=innodb;insert into t2 select * from t1;delete t1,t2 from t2,t1 where t1.a<'B' and t2.b=t1.b;drop table t1,t2;SET AUTOCOMMIT=1;create table t1 (a integer auto_increment primary key) engine=innodb;insert into t1 (a) values (NULL),(NULL);truncate table t1;insert into t1 (a) values (NULL),(NULL);SELECT * from t1;a12drop table t1;CREATE TABLE t1 (`id 1` INT NOT NULL, PRIMARY KEY (`id 1`)) ENGINE=INNODB;CREATE TABLE t2 (id INT PRIMARY KEY, t1_id INT, INDEX par_ind (t1_id), FOREIGN KEY (`t1_id`) REFERENCES `t1`(`id 1`) ON DELETE CASCADE ) ENGINE=INNODB;drop table t2,t1;create table `t1` (`id` int( 11 ) not null ,primary key ( `id` )) engine = innodb;insert into `t1`values ( 1 ) ;create table `t2` (`id` int( 11 ) not null default '0',unique key `id` ( `id` ) ,constraint `t1_id_fk` foreign key ( `id` ) references `t1` (`id` )) engine = innodb;insert into `t2`values ( 1 ) ;create table `t3` (`id` int( 11 ) not null default '0',key `id` ( `id` ) ,constraint `t2_id_fk` foreign key ( `id` ) references `t2` (`id` )) engine = innodb;insert into `t3`values ( 1 ) ;delete t3,t2,t1 from t1,t2,t3 where t1.id =1 and t2.id = t1.id and t3.id = t2.id;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`))update t1,t2,t3 set t3.id=5, t2.id=6, t1.id=7 where t1.id =1 and t2.id = t1.id and t3.id = t2.id;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`))update t3 set t3.id=7 where t1.id =1 and t2.id = t1.id and t3.id = t2.id;ERROR 42S22: Unknown column 't1.id' in 'where clause'drop table t3,t2,t1;create table t1(id int primary key,pid int,index(pid),foreign key(pid) references t1(id) on delete cascade) engine=innodb;insert into t1 values(0,0),(1,0),(2,1),(3,2),(4,3),(5,4),(6,5),(7,6),(8,7),(9,8),(10,9),(11,10),(12,11),(13,12),(14,13),(15,14);delete from t1 where id=0;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t1`, CONSTRAINT `t1_ibfk_1` FOREIGN KEY (`pid`) REFERENCES `t1` (`id`) ON DELETE CASCADE)delete from t1 where id=15;delete from t1 where id=0;drop table t1;CREATE TABLE t1 (col1 int(1))ENGINE=InnoDB;CREATE TABLE t2 (col1 int(1),stamp TIMESTAMP,INDEX stamp_idx(stamp))ENGINE=InnoDB;insert into t1 values (1),(2),(3);insert into t2 values (1, 20020204130000),(2, 20020204130000),(4,20020204310000 ),(5,20020204230000);Warnings:Warning 1265 Data truncated for column 'stamp' at row 3SELECT col1 FROM t1 UNION SELECT col1 FROM t2 WHERE stamp <'20020204120000' GROUP BY col1;col11234drop table t1,t2;CREATE TABLE t1 (`id` int(10) unsigned NOT NULL auto_increment,`id_object` int(10) unsigned default '0',`id_version` int(10) unsigned NOT NULL default '1',`label` varchar(100) NOT NULL default '',`description` text,PRIMARY KEY (`id`),KEY `id_object` (`id_object`),KEY `id_version` (`id_version`)) ENGINE=InnoDB;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);CREATE TABLE t2 (`id` int(10) unsigned NOT NULL auto_increment,`id_version` int(10) unsigned NOT NULL default '1',PRIMARY KEY (`id`),KEY `id_version` (`id_version`)) ENGINE=InnoDB;INSERT INTO t2 VALUES("3524", "1"),("3525", "1"),("1794", "4"),("102", "5"),("1822", "6"),("3382", "9");SELECT t2.id, t1.`label` FROM t2 INNER JOIN(SELECT t1.id_object as id_object FROM t1 WHERE t1.`label` LIKE '%test%') AS lbl ON (t2.id = lbl.id_object) INNER JOIN t1 ON (t2.id = t1.id_object);id label3382 Test102 Le Pekin (Test)1794 Test de resto1822 Test 33524 Societe Test3525 Fournisseur Testdrop table t1,t2;create table t1 (a int, b varchar(200), c text not null) checksum=1 engine=myisam;create table t2 (a int, b varchar(200), c text not null) checksum=0 engine=innodb;create table t3 (a int, b varchar(200), c text not null) checksum=1 engine=innodb;insert t1 values (1, "aaa", "bbb"), (NULL, "", "ccccc"), (0, NULL, "");insert t2 select * from t1;insert t3 select * from t1;checksum table t1, t2, t3, t4 quick;Table Checksumtest.t1 2948697075test.t2 NULLtest.t3 NULLtest.t4 NULLWarnings:Error 1146 Table 'test.t4' doesn't existchecksum table t1, t2, t3, t4;Table Checksumtest.t1 2948697075test.t2 2948697075test.t3 2948697075test.t4 NULLWarnings:Error 1146 Table 'test.t4' doesn't existchecksum table t1, t2, t3, t4 extended;Table Checksumtest.t1 2948697075test.t2 2948697075test.t3 2948697075test.t4 NULLWarnings:Error 1146 Table 'test.t4' doesn't existdrop table t1,t2,t3;create table t1 (id int, name char(10) not null, name2 char(10) not null) engine=innodb;insert into t1 values(1,'first','fff'),(2,'second','sss'),(3,'third','ttt');select trim(name2) from t1 union all select trim(name) from t1 union all select trim(id) from t1;trim(name2)fffssstttfirstsecondthird123drop table t1;create table t1 (a int) engine=innodb;create table t2 like t1;drop table t1,t2;create table t1 (id int(11) not null, id2 int(11) not null, unique (id,id2)) engine=innodb;create table t2 (id int(11) not null, constraint t1_id_fk foreign key ( id ) references t1 (id)) engine = innodb;show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `id` int(11) NOT NULL, `id2` int(11) NOT NULL, UNIQUE KEY `id` (`id`,`id2`)) ENGINE=InnoDB DEFAULT CHARSET=latin1show create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `id` int(11) NOT NULL, KEY `t1_id_fk` (`id`), CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1create index id on t2 (id);show create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `id` int(11) NOT NULL, KEY `id` (`id`), CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1create index id2 on t2 (id);show create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `id` int(11) NOT NULL, KEY `id` (`id`), KEY `id2` (`id`), CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1drop index id2 on t2;drop index id on t2;Got one of the listed errorsshow create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `id` int(11) NOT NULL, KEY `id` (`id`), CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t2;create table t2 (id int(11) not null, id2 int(11) not null, constraint t1_id_fk foreign key (id,id2) references t1 (id,id2)) engine = innodb;show create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `id` int(11) NOT NULL, `id2` int(11) NOT NULL, KEY `t1_id_fk` (`id`,`id2`), CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`, `id2`) REFERENCES `t1` (`id`, `id2`)) ENGINE=InnoDB DEFAULT CHARSET=latin1create unique index id on t2 (id,id2);show create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `id` int(11) NOT NULL, `id2` int(11) NOT NULL, UNIQUE KEY `id` (`id`,`id2`), CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`, `id2`) REFERENCES `t1` (`id`, `id2`)) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t2;create table t2 (id int(11) not null, id2 int(11) not null, unique (id,id2),constraint t1_id_fk foreign key (id2,id) references t1 (id,id2)) engine = innodb;show create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `id` int(11) NOT NULL, `id2` int(11) NOT NULL, UNIQUE KEY `id` (`id`,`id2`), KEY `t1_id_fk` (`id2`,`id`), CONSTRAINT `t1_id_fk` FOREIGN KEY (`id2`, `id`) REFERENCES `t1` (`id`, `id2`)) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t2;create table t2 (id int(11) not null, id2 int(11) not null, unique (id,id2), constraint t1_id_fk foreign key (id) references t1 (id)) engine = innodb;show create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `id` int(11) NOT NULL, `id2` int(11) NOT NULL, UNIQUE KEY `id` (`id`,`id2`), CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t2;create table t2 (id int(11) not null, id2 int(11) not null, unique (id,id2),constraint t1_id_fk foreign key (id2,id) references t1 (id,id2)) engine = innodb;show create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `id` int(11) NOT NULL, `id2` int(11) NOT NULL, UNIQUE KEY `id` (`id`,`id2`), KEY `t1_id_fk` (`id2`,`id`), CONSTRAINT `t1_id_fk` FOREIGN KEY (`id2`, `id`) REFERENCES `t1` (`id`, `id2`)) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t2;create table t2 (id int(11) not null auto_increment, id2 int(11) not null, constraint t1_id_fk foreign key (id) references t1 (id), primary key (id), index (id,id2)) engine = innodb;show create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id2` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `id` (`id`,`id2`), CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t2;create table t2 (id int(11) not null auto_increment, id2 int(11) not null, constraint t1_id_fk foreign key (id) references t1 (id)) engine= innodb;show create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id2` int(11) NOT NULL, KEY `t1_id_fk` (`id`), CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1alter table t2 add index id_test (id), add index id_test2 (id,id2);show create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id2` int(11) NOT NULL, KEY `id_test` (`id`), KEY `id_test2` (`id`,`id2`), CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t2;create table t2 (id int(11) not null, id2 int(11) not null, constraint t1_id_fk foreign key (id2,id) references t1 (id)) engine = innodb;ERROR HY000: Can't create table 'test.t2' (errno: 150)create table t2 (a int auto_increment primary key, b int, index(b), foreign key (b) references t1(id), unique(b)) engine=innodb;show create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `a` int(11) NOT NULL AUTO_INCREMENT, `b` int(11) DEFAULT NULL, PRIMARY KEY (`a`), UNIQUE KEY `b_2` (`b`), KEY `b` (`b`), CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`b`) REFERENCES `t1` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t2;create table t2 (a int auto_increment primary key, b int, foreign key (b) references t1(id), foreign key (b) references t1(id), unique(b)) engine=innodb;show create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `a` int(11) NOT NULL AUTO_INCREMENT, `b` int(11) DEFAULT NULL, PRIMARY KEY (`a`), UNIQUE KEY `b` (`b`), CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`b`) REFERENCES `t1` (`id`), CONSTRAINT `t2_ibfk_2` FOREIGN KEY (`b`) REFERENCES `t1` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t2, t1;flush status;show status like "binlog_cache_use";Variable_name ValueBinlog_cache_use 0show status like "binlog_cache_disk_use";Variable_name ValueBinlog_cache_disk_use 0create table t1 (a int) engine=innodb;show status like "binlog_cache_use";Variable_name ValueBinlog_cache_use 1show status like "binlog_cache_disk_use";Variable_name ValueBinlog_cache_disk_use 1begin;delete from t1;commit;show status like "binlog_cache_use";Variable_name ValueBinlog_cache_use 2show status like "binlog_cache_disk_use";Variable_name ValueBinlog_cache_disk_use 1drop table t1;create table t1 (c char(10), index (c,c)) engine=innodb;ERROR 42S21: Duplicate column name 'c'create table t1 (c1 char(10), c2 char(10), index (c1,c2,c1)) engine=innodb;ERROR 42S21: Duplicate column name 'c1'create table t1 (c1 char(10), c2 char(10), index (c1,c1,c2)) engine=innodb;ERROR 42S21: Duplicate column name 'c1'create table t1 (c1 char(10), c2 char(10), index (c2,c1,c1)) engine=innodb;ERROR 42S21: Duplicate column name 'c1'create table t1 (c1 char(10), c2 char(10)) engine=innodb;alter table t1 add key (c1,c1);ERROR 42S21: Duplicate column name 'c1'alter table t1 add key (c2,c1,c1);ERROR 42S21: Duplicate column name 'c1'alter table t1 add key (c1,c2,c1);ERROR 42S21: Duplicate column name 'c1'alter table t1 add key (c1,c1,c2);ERROR 42S21: Duplicate column name 'c1'drop table t1;create table t1(a int(1) , b int(1)) engine=innodb;insert into t1 values ('1111', '3333');select distinct concat(a, b) from t1;concat(a, b)11113333drop table t1;CREATE TABLE t1 ( a char(10) ) ENGINE=InnoDB;SELECT a FROM t1 WHERE MATCH (a) AGAINST ('test' IN BOOLEAN MODE);ERROR HY000: The used table type doesn't support FULLTEXT indexesDROP TABLE t1;CREATE TABLE t1 (a_id tinyint(4) NOT NULL default '0', PRIMARY KEY (a_id)) ENGINE=InnoDB DEFAULT CHARSET=latin1;INSERT INTO t1 VALUES (1),(2),(3);CREATE TABLE t2 (b_id tinyint(4) NOT NULL default '0',b_a tinyint(4) NOT NULL default '0', PRIMARY KEY (b_id), KEY (b_a), CONSTRAINT fk_b_a FOREIGN KEY (b_a) REFERENCES t1 (a_id) ON DELETE CASCADE ON UPDATE NO ACTION) ENGINE=InnoDB DEFAULT CHARSET=latin1;INSERT INTO t2 VALUES (1,1),(2,1),(3,1),(4,2),(5,2);SELECT * FROM (SELECT t1.*,GROUP_CONCAT(t2.b_id SEPARATOR ',') as b_list FROM (t1 LEFT JOIN (t2) on t1.a_id = t2.b_a) GROUP BY t1.a_id ) AS xyz;a_id b_list1 1,2,32 4,53 NULLDROP TABLE t2;DROP TABLE t1;create temporary table t1 (a int) engine=innodb;insert into t1 values (4711);truncate t1;insert into t1 values (42);select * from t1;a42drop table t1;create table t1 (a int) engine=innodb;insert into t1 values (4711);truncate t1;insert into t1 values (42);select * from t1;a42drop table t1;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=innodb;insert into t1 values (2,2,"b",2,2),(1,1,"a",1,1),(3,3,"ab",3,3);select * from t1 order by a,b,c,d;a b c d e1 1 a 1 12 2 b 2 23 3 ab 3 3explain select * from t1 order by a,b,c,d;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using filesortdrop table t1;create table t1 (a char(1), b char(1), key(a, b)) engine=innodb;insert into t1 values ('8', '6'), ('4', '7');select min(a) from t1;min(a)4select min(b) from t1 where a='8';min(b)6drop table t1;create table t1 (x bigint unsigned not null primary key) engine=innodb;insert into t1(x) values (0xfffffffffffffff0),(0xfffffffffffffff1);select * from t1;x1844674407370955160018446744073709551601select count(*) from t1 where x>0;count(*)2select count(*) from t1 where x=0;count(*)0select count(*) from t1 where x<0;count(*)0select count(*) from t1 where x < -16;count(*)0select count(*) from t1 where x = -16;count(*)0explain select count(*) from t1 where x > -16;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 index PRIMARY PRIMARY 8 NULL 2 Using where; Using indexselect count(*) from t1 where x > -16;count(*)2select * from t1 where x > -16;x1844674407370955160018446744073709551601select count(*) from t1 where x = 18446744073709551601;count(*)1drop table t1;show status like "Innodb_buffer_pool_pages_total";Variable_name ValueInnodb_buffer_pool_pages_total 512show status like "Innodb_page_size";Variable_name ValueInnodb_page_size 16384show status like "Innodb_rows_deleted";Variable_name ValueInnodb_rows_deleted 2070show status like "Innodb_rows_inserted";Variable_name ValueInnodb_rows_inserted 3083show status like "Innodb_rows_updated";Variable_name ValueInnodb_rows_updated 886show status like "Innodb_row_lock_waits";Variable_name ValueInnodb_row_lock_waits 0show status like "Innodb_row_lock_current_waits";Variable_name ValueInnodb_row_lock_current_waits 0show status like "Innodb_row_lock_time";Variable_name ValueInnodb_row_lock_time 0show status like "Innodb_row_lock_time_max";Variable_name ValueInnodb_row_lock_time_max 0show status like "Innodb_row_lock_time_avg";Variable_name ValueInnodb_row_lock_time_avg 0show variables like "innodb_sync_spin_loops";Variable_name Valueinnodb_sync_spin_loops 20set global innodb_sync_spin_loops=1000;show variables like "innodb_sync_spin_loops";Variable_name Valueinnodb_sync_spin_loops 1000set global innodb_sync_spin_loops=0;show variables like "innodb_sync_spin_loops";Variable_name Valueinnodb_sync_spin_loops 0set global innodb_sync_spin_loops=20;show variables like "innodb_sync_spin_loops";Variable_name Valueinnodb_sync_spin_loops 20show variables like "innodb_thread_concurrency";Variable_name Valueinnodb_thread_concurrency 8set global innodb_thread_concurrency=1001;show variables like "innodb_thread_concurrency";Variable_name Valueinnodb_thread_concurrency 1000set global innodb_thread_concurrency=0;show variables like "innodb_thread_concurrency";Variable_name Valueinnodb_thread_concurrency 0set global innodb_thread_concurrency=16;show variables like "innodb_thread_concurrency";Variable_name Valueinnodb_thread_concurrency 16show variables like "innodb_concurrency_tickets";Variable_name Valueinnodb_concurrency_tickets 500set global innodb_concurrency_tickets=1000;show variables like "innodb_concurrency_tickets";Variable_name Valueinnodb_concurrency_tickets 1000set global innodb_concurrency_tickets=0;show variables like "innodb_concurrency_tickets";Variable_name Valueinnodb_concurrency_tickets 1set global innodb_concurrency_tickets=500;show variables like "innodb_concurrency_tickets";Variable_name Valueinnodb_concurrency_tickets 500show variables like "innodb_thread_sleep_delay";Variable_name Valueinnodb_thread_sleep_delay 10000set global innodb_thread_sleep_delay=100000;show variables like "innodb_thread_sleep_delay";Variable_name Valueinnodb_thread_sleep_delay 100000set global innodb_thread_sleep_delay=0;show variables like "innodb_thread_sleep_delay";Variable_name Valueinnodb_thread_sleep_delay 0set global innodb_thread_sleep_delay=10000;show variables like "innodb_thread_sleep_delay";Variable_name Valueinnodb_thread_sleep_delay 10000set storage_engine=INNODB;drop table if exists t1,t2,t3;--- Testing varchar ------ Testing varchar ---create table t1 (v varchar(10), c char(10), t text);insert into t1 values('+ ', '+ ', '+ ');set @a=repeat(' ',20);insert into t1 values (concat('+',@a),concat('+',@a),concat('+',@a));Warnings:Note 1265 Data truncated for column 'v' at row 1select concat('*',v,'*',c,'*',t,'*') from t1;concat('*',v,'*',c,'*',t,'*')*+ *+*+ **+ *+*+ *show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `v` varchar(10) DEFAULT NULL, `c` char(10) DEFAULT NULL, `t` text) ENGINE=InnoDB DEFAULT CHARSET=latin1create table t2 like t1;show create table t2;Table Create Tablet2 CREATE TABLE `t2` ( `v` varchar(10) DEFAULT NULL, `c` char(10) DEFAULT NULL, `t` text) ENGINE=InnoDB DEFAULT CHARSET=latin1create table t3 select * from t1;show create table t3;Table Create Tablet3 CREATE TABLE `t3` ( `v` varchar(10) DEFAULT NULL, `c` char(10) DEFAULT NULL, `t` text) ENGINE=InnoDB DEFAULT CHARSET=latin1alter table t1 modify c varchar(10);show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `v` varchar(10) DEFAULT NULL, `c` varchar(10) DEFAULT NULL, `t` text) ENGINE=InnoDB DEFAULT CHARSET=latin1alter table t1 modify v char(10);show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `v` char(10) DEFAULT NULL, `c` varchar(10) DEFAULT NULL, `t` text) ENGINE=InnoDB DEFAULT CHARSET=latin1alter table t1 modify t varchar(10);Warnings:Note 1265 Data truncated for column 't' at row 2show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `v` char(10) DEFAULT NULL, `c` varchar(10) DEFAULT NULL, `t` varchar(10) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin1select concat('*',v,'*',c,'*',t,'*') from t1;concat('*',v,'*',c,'*',t,'*')*+*+*+ **+*+*+ *drop table t1,t2,t3;create table t1 (v varchar(10), c char(10), t text, key(v), key(c), key(t(10)));show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `v` varchar(10) DEFAULT NULL, `c` char(10) DEFAULT NULL, `t` text, KEY `v` (`v`), KEY `c` (`c`), KEY `t` (`t`(10))) ENGINE=InnoDB DEFAULT CHARSET=latin1select count(*) from t1;count(*)270insert into t1 values(concat('a',char(1)),concat('a',char(1)),concat('a',char(1)));select count(*) from t1 where v='a';count(*)10select count(*) from t1 where c='a';count(*)10select count(*) from t1 where t='a';count(*)10select count(*) from t1 where v='a ';count(*)10select count(*) from t1 where c='a ';count(*)10select count(*) from t1 where t='a ';count(*)10select count(*) from t1 where v between 'a' and 'a ';count(*)10select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';count(*)10select count(*) from t1 where v like 'a%';count(*)11select count(*) from t1 where c like 'a%';count(*)11select count(*) from t1 where t like 'a%';count(*)11select count(*) from t1 where v like 'a %';count(*)9explain select count(*) from t1 where v='a ';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref v v 13 const # Using where; Using indexexplain select count(*) from t1 where c='a ';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref c c 11 const # Using where; Using indexexplain select count(*) from t1 where t='a ';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 range t t 13 NULL # Using whereexplain select count(*) from t1 where v like 'a%';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 range v v 13 NULL # Using where; Using indexexplain select count(*) from t1 where v between 'a' and 'a ';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref v v 13 const # Using where; Using indexexplain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref v v 13 const # Using where; Using indexalter table t1 add unique(v);ERROR 23000: Duplicate entry '{ ' for key 'v_2'alter table t1 add key(v);select concat('*',v,'*',c,'*',t,'*') as qq from t1 where v='a';qq*a*a*a**a *a*a **a *a*a **a *a*a **a *a*a **a *a*a **a *a*a **a *a*a **a *a*a **a *a*a *explain select * from t1 where v='a';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref v,v_2 # 13 const # Using whereselect v,count(*) from t1 group by v limit 10;v count(*)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select v,count(t) from t1 group by v limit 10;v count(t)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select v,count(c) from t1 group by v limit 10;v count(c)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select sql_big_result v,count(t) from t1 group by v limit 10;v count(t)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select sql_big_result v,count(c) from t1 group by v limit 10;v count(c)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select c,count(*) from t1 group by c limit 10;c count(*)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select c,count(t) from t1 group by c limit 10;c count(t)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select sql_big_result c,count(t) from t1 group by c limit 10;c count(t)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select t,count(*) from t1 group by t limit 10;t count(*)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select t,count(t) from t1 group by t limit 10;t count(t)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select sql_big_result t,count(t) from t1 group by t limit 10;t count(t)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10alter table t1 modify v varchar(300), drop key v, drop key v_2, add key v (v);show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `v` varchar(300) DEFAULT NULL, `c` char(10) DEFAULT NULL, `t` text, KEY `c` (`c`), KEY `t` (`t`(10)), KEY `v` (`v`)) ENGINE=InnoDB DEFAULT CHARSET=latin1select count(*) from t1 where v='a';count(*)10select count(*) from t1 where v='a ';count(*)10select count(*) from t1 where v between 'a' and 'a ';count(*)10select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';count(*)10select count(*) from t1 where v like 'a%';count(*)11select count(*) from t1 where v like 'a %';count(*)9explain select count(*) from t1 where v='a ';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref v v 303 const # Using where; Using indexexplain select count(*) from t1 where v like 'a%';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 range v v 303 NULL # Using where; Using indexexplain select count(*) from t1 where v between 'a' and 'a ';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref v v 303 const # Using where; Using indexexplain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref v v 303 const # Using where; Using indexexplain select * from t1 where v='a';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref v v 303 const # Using whereselect v,count(*) from t1 group by v limit 10;v count(*)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select v,count(t) from t1 group by v limit 10;v count(t)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select sql_big_result v,count(t) from t1 group by v limit 10;v count(t)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10alter table t1 drop key v, add key v (v(30));show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `v` varchar(300) DEFAULT NULL, `c` char(10) DEFAULT NULL, `t` text, KEY `c` (`c`), KEY `t` (`t`(10)), KEY `v` (`v`(30))) ENGINE=InnoDB DEFAULT CHARSET=latin1select count(*) from t1 where v='a';count(*)10select count(*) from t1 where v='a ';count(*)10select count(*) from t1 where v between 'a' and 'a ';count(*)10select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';count(*)10select count(*) from t1 where v like 'a%';count(*)11select count(*) from t1 where v like 'a %';count(*)9explain select count(*) from t1 where v='a ';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref v v 33 const # Using whereexplain select count(*) from t1 where v like 'a%';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 range v v 33 NULL # Using whereexplain select count(*) from t1 where v between 'a' and 'a ';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref v v 33 const # Using whereexplain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref v v 33 const # Using whereexplain select * from t1 where v='a';id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref v v 33 const # Using whereselect v,count(*) from t1 group by v limit 10;v count(*)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select v,count(t) from t1 group by v limit 10;v count(t)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select sql_big_result v,count(t) from t1 group by v limit 10;v count(t)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10alter table t1 modify v varchar(600), drop key v, add key v (v);show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `v` varchar(600) DEFAULT NULL, `c` char(10) DEFAULT NULL, `t` text, KEY `c` (`c`), KEY `t` (`t`(10)), KEY `v` (`v`)) ENGINE=InnoDB DEFAULT CHARSET=latin1select v,count(*) from t1 group by v limit 10;v count(*)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select v,count(t) from t1 group by v limit 10;v count(t)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10select sql_big_result v,count(t) from t1 group by v limit 10;v count(t)a 1a 10b 10c 10d 10e 10f 10g 10h 10i 10drop table t1;create table t1 (a char(10), unique (a));insert into t1 values ('a ');insert into t1 values ('a ');ERROR 23000: Duplicate entry 'a' for key 'a'alter table t1 modify a varchar(10);insert into t1 values ('a '),('a '),('a '),('a ');ERROR 23000: Duplicate entry 'a ' for key 'a'insert into t1 values ('a ');ERROR 23000: Duplicate entry 'a ' for key 'a'insert into t1 values ('a ');ERROR 23000: Duplicate entry 'a ' for key 'a'insert into t1 values ('a ');ERROR 23000: Duplicate entry 'a ' for key 'a'update t1 set a='a ' where a like 'a%';select concat(a,'.') from t1;concat(a,'.')a .update t1 set a='abc ' where a like 'a ';select concat(a,'.') from t1;concat(a,'.')a .update t1 set a='a ' where a like 'a %';select concat(a,'.') from t1;concat(a,'.')a .update t1 set a='a ' where a like 'a ';select concat(a,'.') from t1;concat(a,'.')a .drop table t1;create table t1 (v varchar(10), c char(10), t text, key(v(5)), key(c(5)), key(t(5)));show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `v` varchar(10) DEFAULT NULL, `c` char(10) DEFAULT NULL, `t` text, KEY `v` (`v`(5)), KEY `c` (`c`(5)), KEY `t` (`t`(5))) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t1;create table t1 (v char(10) character set utf8);show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `v` char(10) CHARACTER SET utf8 DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t1;create table t1 (v varchar(10), c char(10)) row_format=fixed;show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `v` varchar(10) DEFAULT NULL, `c` char(10) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=FIXEDinsert into t1 values('a','a'),('a ','a ');select concat('*',v,'*',c,'*') from t1;concat('*',v,'*',c,'*')*a*a**a *a*drop table t1;create table t1 (v varchar(65530), key(v(10)));insert into t1 values(repeat('a',65530));select length(v) from t1 where v=repeat('a',65530);length(v)65530drop table t1;create table t1(a int, b varchar(12), key ba(b, a));insert into t1 values (1, 'A'), (20, NULL);explain select * from t1 where a=20 and b is null;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref ba ba 20 const,const 1 Using where; Using indexselect * from t1 where a=20 and b is null;a b20 NULLdrop table t1;create table t1 (v varchar(65530), key(v));Warnings:Warning 1071 Specified key was too long; max key length is 767 bytesdrop table t1;create table t1 (v varchar(65536));Warnings:Note 1246 Converting column 'v' from VARCHAR to TEXTshow create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `v` mediumtext) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t1;create table t1 (v varchar(65530) character set utf8);Warnings:Note 1246 Converting column 'v' from VARCHAR to TEXTshow create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `v` mediumtext CHARACTER SET utf8) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t1;set storage_engine=MyISAM;create table t1 (v varchar(16384)) engine=innodb;drop table t1;create table t1 (a char(1), b char(1), key(a, b)) engine=innodb;insert into t1 values ('8', '6'), ('4', '7');select min(a) from t1;min(a)4select min(b) from t1 where a='8';min(b)6drop table t1;CREATE TABLE t1 ( `a` int(11) NOT NULL auto_increment, `b` int(11) default NULL,PRIMARY KEY (`a`),UNIQUE KEY `b` (`b`)) ENGINE=innodb;insert into t1 (b) values (1);replace into t1 (b) values (2), (1), (3);select * from t1;a b3 12 24 3truncate table t1;insert into t1 (b) values (1);replace into t1 (b) values (2);replace into t1 (b) values (1);replace into t1 (b) values (3);select * from t1;a b3 12 24 3drop table t1;create table t1 (rowid int not null auto_increment, val int not null,primarykey (rowid), unique(val)) engine=innodb;replace into t1 (val) values ('1'),('2');replace into t1 (val) values ('1'),('2');insert into t1 (val) values ('1'),('2');ERROR 23000: Duplicate entry '1' for key 'val'select * from t1;rowid val3 14 2drop table t1;create table t1 (a int not null auto_increment primary key, val int) engine=InnoDB;insert into t1 (val) values (1);update t1 set a=2 where a=1;insert into t1 (val) values (1);ERROR 23000: Duplicate entry '2' for key 'PRIMARY'select * from t1;a val2 1drop table t1;CREATE TABLE t1 (GRADE DECIMAL(4) NOT NULL, PRIMARY KEY (GRADE)) ENGINE=INNODB;INSERT INTO t1 (GRADE) VALUES (151),(252),(343);SELECT GRADE FROM t1 WHERE GRADE > 160 AND GRADE < 300;GRADE252SELECT GRADE FROM t1 WHERE GRADE= 151;GRADE151DROP TABLE t1;create table t1 (f1 varchar(10), f2 varchar(10), primary key (f1,f2)) engine=innodb;create table t2 (f3 varchar(10), f4 varchar(10), key (f4)) engine=innodb;insert into t2 values ('aa','cc');insert into t1 values ('aa','bb'),('aa','cc');delete t1 from t1,t2 where f1=f3 and f4='cc';select * from t1;f1 f2drop table t1,t2;CREATE TABLE t1 (id INTEGER NOT NULL AUTO_INCREMENT, PRIMARY KEY (id)) ENGINE=InnoDB;CREATE TABLE t2 (id INTEGER NOT NULL,FOREIGN KEY (id) REFERENCES t1 (id)) ENGINE=InnoDB;INSERT INTO t1 (id) VALUES (NULL);SELECT * FROM t1;id1TRUNCATE t1;INSERT INTO t1 (id) VALUES (NULL);SELECT * FROM t1;id1DELETE FROM t1;TRUNCATE t1;INSERT INTO t1 (id) VALUES (NULL);SELECT * FROM t1;id1DROP TABLE t2, t1;CREATE TABLE t1(id INT PRIMARY KEY) ENGINE=InnoDB;CREATE TEMPORARY TABLE t2(id INT NOT NULL PRIMARY KEY,b INT,FOREIGN KEY (b) REFERENCES test.t1(id)) ENGINE=InnoDB;Got one of the listed errorsDROP TABLE t1;create table t1 (col1 varchar(2000), index (col1(767)))character set = latin1 engine = innodb;create table t2 (col1 char(255), index (col1))character set = latin1 engine = innodb;create table t3 (col1 binary(255), index (col1))character set = latin1 engine = innodb;create table t4 (col1 varchar(767), index (col1))character set = latin1 engine = innodb;create table t5 (col1 varchar(767) primary key)character set = latin1 engine = innodb;create table t6 (col1 varbinary(767) primary key)character set = latin1 engine = innodb;create table t7 (col1 text, index(col1(767)))character set = latin1 engine = innodb;create table t8 (col1 blob, index(col1(767)))character set = latin1 engine = innodb;create table t9 (col1 varchar(512), col2 varchar(512), index(col1, col2))character set = latin1 engine = innodb;show create table t9;Table Create Tablet9 CREATE TABLE `t9` ( `col1` varchar(512) DEFAULT NULL, `col2` varchar(512) DEFAULT NULL, KEY `col1` (`col1`,`col2`)) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t1, t2, t3, t4, t5, t6, t7, t8, t9;create table t1 (col1 varchar(768), index(col1))character set = latin1 engine = innodb;Warnings:Warning 1071 Specified key was too long; max key length is 767 bytescreate table t2 (col1 varbinary(768), index(col1))character set = latin1 engine = innodb;Warnings:Warning 1071 Specified key was too long; max key length is 767 bytescreate table t3 (col1 text, index(col1(768)))character set = latin1 engine = innodb;Warnings:Warning 1071 Specified key was too long; max key length is 767 bytescreate table t4 (col1 blob, index(col1(768)))character set = latin1 engine = innodb;Warnings:Warning 1071 Specified key was too long; max key length is 767 bytesshow create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `col1` varchar(768) DEFAULT NULL, KEY `col1` (`col1`(767))) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t1, t2, t3, t4;create table t1 (col1 varchar(768) primary key)character set = latin1 engine = innodb;ERROR 42000: Specified key was too long; max key length is 767 bytescreate table t2 (col1 varbinary(768) primary key)character set = latin1 engine = innodb;ERROR 42000: Specified key was too long; max key length is 767 bytescreate table t3 (col1 text, primary key(col1(768)))character set = latin1 engine = innodb;ERROR 42000: Specified key was too long; max key length is 767 bytescreate table t4 (col1 blob, primary key(col1(768)))character set = latin1 engine = innodb;ERROR 42000: Specified key was too long; max key length is 767 bytesCREATE TABLE t1(id INT PRIMARY KEY) ENGINE=InnoDB;CREATE TABLE t2(v INT,CONSTRAINT c1 FOREIGN KEY (v) REFERENCES t1(id)) ENGINE=InnoDB;INSERT INTO t2 VALUES(2);ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))INSERT INTO t1 VALUES(1);INSERT INTO t2 VALUES(1);DELETE FROM t1 WHERE id = 1;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))DROP TABLE t1;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint failsSET FOREIGN_KEY_CHECKS=0;DROP TABLE t1;SET FOREIGN_KEY_CHECKS=1;INSERT INTO t2 VALUES(3);ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))DROP TABLE t2;create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1;insert into t1 values (1),(2);set autocommit=0;checksum table t1;Table Checksumtest.t1 1531596814insert into t1 values(3);checksum table t1;Table Checksumtest.t1 1531596814commit;checksum table t1;Table Checksumtest.t1 2050879373commit;drop table t1;create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1;insert into t1 values (1),(2);set autocommit=1;checksum table t1;Table Checksumtest.t1 1531596814set autocommit=1;insert into t1 values(3);checksum table t1;Table Checksumtest.t1 2050879373drop table t1;create table t1 (a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2))) character set utf8 engine = innodb;create table t2 (a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2))) character set ucs2 engine = innodb;insert into t1 values (1,'abcdefg','abcdefg','one');insert into t1 values (2,'ijkilmn','ijkilmn','two');insert into t1 values (3,'qrstuvw','qrstuvw','three');insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four');insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five');insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six');insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven');insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight');insert into t2 values (1,'abcdefg','abcdefg','one');insert into t2 values (2,'ijkilmn','ijkilmn','two');insert into t2 values (3,'qrstuvw','qrstuvw','three');insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four');insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five');insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six');insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven');insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight');insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten');insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven');insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point');insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken');update t1 set filler = 'boo' where a = 1;update t2 set filler ='email' where a = 4;select a,hex(b),hex(c),filler from t1 order by filler;a hex(b) hex(c) filler1 61626364656667 61626364656667 boo4 D0B1 D0B1 eight4 5B 5B five4 E880BD E880BD four4 E880BDD0B1E880BD E880BDD0B1E880BD seven4 E880BDE880BD E880BDE880BD six3 71727374757677 71727374757677 three2 696A6B696C6D6E 696A6B696C6D6E twoselect a,hex(b),hex(c),filler from t2 order by filler;a hex(b) hex(c) filler4 05630563 05630563 email4 0563 0563 email4 05612020 05612020 email4 01FC 01FC email4 0120 0120 email4 00640065 00640065 email4 00E400E50068 00E400E50068 email4 0000E400 0000E400 email4 0000563001FC0563 0000563001FC0563 email1 0061006200630064006500660067 0061006200630064006500660067 one3 0071007200730074007500760077 0071007200730074007500760077 three2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E twodrop table t1;drop table t2;create table t1 (a int, b varchar(10), c varchar(10), filler varchar(10), primary key(a, b(2)), unique key (a, c(2))) character set utf8 engine = innodb;create table t2 (a int, b varchar(10), c varchar(10), filler varchar(10), primary key(a, b(2)), unique key (a, c(2))) character set ucs2 engine = innodb;insert into t1 values (1,'abcdefg','abcdefg','one');insert into t1 values (2,'ijkilmn','ijkilmn','two');insert into t1 values (3,'qrstuvw','qrstuvw','three');insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four');insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five');insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six');insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven');insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight');insert into t2 values (1,'abcdefg','abcdefg','one');insert into t2 values (2,'ijkilmn','ijkilmn','two');insert into t2 values (3,'qrstuvw','qrstuvw','three');insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four');insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five');insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six');insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven');insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight');insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten');insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven');insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point');insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken');update t1 set filler = 'boo' where a = 1;update t2 set filler ='email' where a = 4;select a,hex(b),hex(c),filler from t1 order by filler;a hex(b) hex(c) filler1 61626364656667 61626364656667 boo4 D0B1 D0B1 eight4 5B 5B five4 E880BD E880BD four4 E880BDD0B1E880BD E880BDD0B1E880BD seven4 E880BDE880BD E880BDE880BD six3 71727374757677 71727374757677 three2 696A6B696C6D6E 696A6B696C6D6E twoselect a,hex(b),hex(c),filler from t2 order by filler;a hex(b) hex(c) filler4 05630563 05630563 email4 0563 0563 email4 05612020 05612020 email4 01FC 01FC email4 0120 0120 email4 00640065 00640065 email4 00E400E50068 00E400E50068 email4 0000E400 0000E400 email4 0000563001FC0563 0000563001FC0563 email1 0061006200630064006500660067 0061006200630064006500660067 one3 0071007200730074007500760077 0071007200730074007500760077 three2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E twodrop table t1;drop table t2;create table t1 (a int, b text(10), c text(10), filler text(10), primary key(a, b(2)), unique key (a, c(2))) character set utf8 engine = innodb;create table t2 (a int, b text(10), c text(10), filler text(10), primary key(a, b(2)), unique key (a, c(2))) character set ucs2 engine = innodb;insert into t1 values (1,'abcdefg','abcdefg','one');insert into t1 values (2,'ijkilmn','ijkilmn','two');insert into t1 values (3,'qrstuvw','qrstuvw','three');insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four');insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five');insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six');insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven');insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight');insert into t2 values (1,'abcdefg','abcdefg','one');insert into t2 values (2,'ijkilmn','ijkilmn','two');insert into t2 values (3,'qrstuvw','qrstuvw','three');insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four');insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five');insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six');insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven');insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight');insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten');insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven');insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point');insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken');update t1 set filler = 'boo' where a = 1;update t2 set filler ='email' where a = 4;select a,hex(b),hex(c),filler from t1 order by filler;a hex(b) hex(c) filler1 61626364656667 61626364656667 boo4 D0B1 D0B1 eight4 5B 5B five4 E880BD E880BD four4 E880BDD0B1E880BD E880BDD0B1E880BD seven4 E880BDE880BD E880BDE880BD six3 71727374757677 71727374757677 three2 696A6B696C6D6E 696A6B696C6D6E twoselect a,hex(b),hex(c),filler from t2 order by filler;a hex(b) hex(c) filler4 0120 0120 email4 01FC 01FC email4 0563 0563 email4 0000563001FC0563 0000563001FC0563 email4 0000E400 0000E400 email4 00640065 00640065 email4 00E400E50068 00E400E50068 email4 05612020 05612020 email4 05630563 05630563 email1 0061006200630064006500660067 0061006200630064006500660067 one3 0071007200730074007500760077 0071007200730074007500760077 three2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E twodrop table t1;drop table t2;create table t1 (a int, b blob(10), c blob(10), filler blob(10), primary key(a, b(2)), unique key (a, c(2))) character set utf8 engine = innodb;create table t2 (a int, b blob(10), c blob(10), filler blob(10), primary key(a, b(2)), unique key (a, c(2))) character set ucs2 engine = innodb;insert into t1 values (1,'abcdefg','abcdefg','one');insert into t1 values (2,'ijkilmn','ijkilmn','two');insert into t1 values (3,'qrstuvw','qrstuvw','three');insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four');insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five');insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight');insert into t2 values (1,'abcdefg','abcdefg','one');insert into t2 values (2,'ijkilmn','ijkilmn','two');insert into t2 values (3,'qrstuvw','qrstuvw','three');insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four');insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five');insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six');insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven');insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight');insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten');insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken');update t1 set filler = 'boo' where a = 1;update t2 set filler ='email' where a = 4;select a,hex(b),hex(c),filler from t1 order by filler;a hex(b) hex(c) filler1 61626364656667 61626364656667 boo4 D0B1 D0B1 eight4 5B 5B five4 E880BD E880BD four3 71727374757677 71727374757677 three2 696A6B696C6D6E 696A6B696C6D6E twoselect a,hex(b),hex(c),filler from t2 order by filler;a hex(b) hex(c) filler4 0000E400 0000E400 email4 00640065 00640065 email4 00E400E50068 00E400E50068 email4 0120 0120 email4 01FC 01FC email4 05612020 05612020 email4 0563 0563 email1 61626364656667 61626364656667 one3 71727374757677 71727374757677 three2 696A6B696C6D6E 696A6B696C6D6E twodrop table t1;drop table t2;commit;set foreign_key_checks=0;create table t2 (a int primary key, b int, foreign key (b) references t1(a)) engine = innodb;create table t1(a char(10) primary key, b varchar(20)) engine = innodb;ERROR HY000: Can't create table 'test.t1' (errno: 150)set foreign_key_checks=1;drop table t2;set foreign_key_checks=0;create table t1(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=latin1;create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=utf8;ERROR HY000: Can't create table 'test.t2' (errno: 150)set foreign_key_checks=1;drop table t1;set foreign_key_checks=0;create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb;create table t1(a varchar(10) primary key) engine = innodb;alter table t1 modify column a int;Got one of the listed errorsset foreign_key_checks=1;drop table t2,t1;set foreign_key_checks=0;create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=latin1;create table t1(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=latin1;alter table t1 convert to character set utf8;set foreign_key_checks=1;drop table t2,t1;set foreign_key_checks=0;create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=latin1;create table t3(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=utf8;rename table t3 to t1;ERROR HY000: Error on rename of './test/t3' to './test/t1' (errno: 150)set foreign_key_checks=1;drop table t2,t3;create table t1(a int primary key) row_format=redundant engine=innodb;create table t2(a int primary key,constraint foreign key(a)references t1(a)) row_format=compact engine=innodb;create table t3(a int primary key) row_format=compact engine=innodb;create table t4(a int primary key,constraint foreign key(a)references t3(a)) row_format=redundant engine=innodb;insert into t1 values(1);insert into t3 values(1);insert into t2 values(2);ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))insert into t4 values(2);ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t3` (`a`))insert into t2 values(1);insert into t4 values(1);update t1 set a=2;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))update t2 set a=2;ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))update t3 set a=2;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t3` (`a`))update t4 set a=2;ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t3` (`a`))truncate t1;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t1` (`a`))truncate t3;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t4`, CONSTRAINT `t4_ibfk_1` FOREIGN KEY (`a`) REFERENCES `t3` (`a`))truncate t2;truncate t4;truncate t1;truncate t3;drop table t4,t3,t2,t1;create table t1 (a varchar(255) character set utf8,b varchar(255) character set utf8,c varchar(255) character set utf8,d varchar(255) character set utf8,key (a,b,c,d)) engine=innodb;drop table t1;create table t1 (a varchar(255) character set utf8,b varchar(255) character set utf8,c varchar(255) character set utf8,d varchar(255) character set utf8,e varchar(255) character set utf8,key (a,b,c,d,e)) engine=innodb;ERROR 42000: Specified key was too long; max key length is 3072 bytescreate table t1 (s1 varbinary(2),primary key (s1)) engine=innodb;create table t2 (s1 binary(2),primary key (s1)) engine=innodb;create table t3 (s1 varchar(2) binary,primary key (s1)) engine=innodb;create table t4 (s1 char(2) binary,primary key (s1)) engine=innodb;insert into t1 values (0x41),(0x4120),(0x4100);insert into t2 values (0x41),(0x4120),(0x4100);ERROR 23000: Duplicate entry 'A' for key 'PRIMARY'insert into t2 values (0x41),(0x4120);insert into t3 values (0x41),(0x4120),(0x4100);ERROR 23000: Duplicate entry 'A ' for key 'PRIMARY'insert into t3 values (0x41),(0x4100);insert into t4 values (0x41),(0x4120),(0x4100);ERROR 23000: Duplicate entry 'A' for key 'PRIMARY'insert into t4 values (0x41),(0x4100);select hex(s1) from t1;hex(s1)4141004120select hex(s1) from t2;hex(s1)41004120select hex(s1) from t3;hex(s1)410041select hex(s1) from t4;hex(s1)410041drop table t1,t2,t3,t4;create table t1 (a int primary key,s1 varbinary(3) not null unique) engine=innodb;create table t2 (s1 binary(2) not null, constraint c foreign key(s1) references t1(s1) on update cascade) engine=innodb;insert into t1 values(1,0x4100),(2,0x41),(3,0x4120),(4,0x42);insert into t2 values(0x42);ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)insert into t2 values(0x41);select hex(s1) from t2;hex(s1)4100update t1 set s1=0x123456 where a=2;select hex(s1) from t2;hex(s1)4100update t1 set s1=0x12 where a=1;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)update t1 set s1=0x12345678 where a=1;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)update t1 set s1=0x123457 where a=1;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)update t1 set s1=0x1220 where a=1;select hex(s1) from t2;hex(s1)1220update t1 set s1=0x1200 where a=1;select hex(s1) from t2;hex(s1)1200update t1 set s1=0x4200 where a=1;select hex(s1) from t2;hex(s1)4200delete from t1 where a=1;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)delete from t1 where a=2;update t2 set s1=0x4120;delete from t1;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)delete from t1 where a!=3;select a,hex(s1) from t1;a hex(s1)3 4120select hex(s1) from t2;hex(s1)4120drop table t2,t1;create table t1 (a int primary key,s1 varchar(2) binary not null unique) engine=innodb;create table t2 (s1 char(2) binary not null, constraint c foreign key(s1) references t1(s1) on update cascade) engine=innodb;insert into t1 values(1,0x4100),(2,0x41);insert into t2 values(0x41);select hex(s1) from t2;hex(s1)41update t1 set s1=0x1234 where a=1;select hex(s1) from t2;hex(s1)41update t1 set s1=0x12 where a=2;select hex(s1) from t2;hex(s1)12delete from t1 where a=1;delete from t1 where a=2;ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c` FOREIGN KEY (`s1`) REFERENCES `t1` (`s1`) ON UPDATE CASCADE)select a,hex(s1) from t1;a hex(s1)2 12select hex(s1) from t2;hex(s1)12drop table t2,t1;CREATE TABLE t1 (ind enum('0','1','2') NOT NULL default '0',string1 varchar(250) NOT NULL,PRIMARY KEY (ind)) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE t2 (ind enum('0','1','2') NOT NULL default '0',string1 varchar(250) NOT NULL,PRIMARY KEY (ind)) ENGINE=InnoDB DEFAULT CHARSET=ucs2;INSERT INTO t1 VALUES ('1', ''),('2', '');INSERT INTO t2 VALUES ('1', ''),('2', '');SELECT hex(ind),hex(string1) FROM t1 ORDER BY string1;hex(ind) hex(string1)31 32 SELECT hex(ind),hex(string1) FROM t2 ORDER BY string1;hex(ind) hex(string1)0031 0032 drop table t1,t2;CREATE TABLE t1 (ind set('0','1','2') NOT NULL default '0',string1 varchar(250) NOT NULL,PRIMARY KEY (ind)) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE t2 (ind set('0','1','2') NOT NULL default '0',string1 varchar(250) NOT NULL,PRIMARY KEY (ind)) ENGINE=InnoDB DEFAULT CHARSET=ucs2;INSERT INTO t1 VALUES ('1', ''),('2', '');INSERT INTO t2 VALUES ('1', ''),('2', '');SELECT hex(ind),hex(string1) FROM t1 ORDER BY string1;hex(ind) hex(string1)31 32 SELECT hex(ind),hex(string1) FROM t2 ORDER BY string1;hex(ind) hex(string1)0031 0032 drop table t1,t2;CREATE TABLE t1 (ind bit not null,string1 varchar(250) NOT NULL,PRIMARY KEY (ind)) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE t2 (ind bit not null,string1 varchar(250) NOT NULL,PRIMARY KEY (ind)) ENGINE=InnoDB DEFAULT CHARSET=ucs2;insert into t1 values(0,''),(1,'');insert into t2 values(0,''),(1,'');select hex(ind),hex(string1) from t1 order by string1;hex(ind) hex(string1)0 1 select hex(ind),hex(string1) from t2 order by string1;hex(ind) hex(string1)0 1 drop table t1,t2;create table t2 (a int, b char(10), filler char(10), primary key(a, b(2)) ) character set utf8 engine = innodb;insert into t2 values (1,'abcdefg','one');insert into t2 values (2,'ijkilmn','two');insert into t2 values (3, 'qrstuvw','three');update t2 set a=5, filler='booo' where a=1;drop table t2;create table t2 (a int, b char(10), filler char(10), primary key(a, b(2)) ) character set ucs2 engine = innodb;insert into t2 values (1,'abcdefg','one');insert into t2 values (2,'ijkilmn','two');insert into t2 values (3, 'qrstuvw','three');update t2 set a=5, filler='booo' where a=1;drop table t2;create table t1(a int not null, b char(110),primary key(a,b(100))) engine=innodb default charset=utf8;insert into t1 values(1,'abcdefg'),(2,'defghijk');insert into t1 values(6,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1);insert into t1 values(7,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2);select a,hex(b) from t1 order by b;a hex(b)1 616263646566672 6465666768696A6B6 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B17 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2update t1 set b = 'three' where a = 6;drop table t1;create table t1(a int not null, b text(110),primary key(a,b(100))) engine=innodb default charset=utf8;insert into t1 values(1,'abcdefg'),(2,'defghijk');insert into t1 values(6,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1);insert into t1 values(7,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2);select a,hex(b) from t1 order by b;a hex(b)1 616263646566672 6465666768696A6B6 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B17 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2update t1 set b = 'three' where a = 6;drop table t1;CREATE TABLE t1(a INT, PRIMARY KEY(a)) ENGINE=InnoDB;CREATE TABLE t2(a INT) ENGINE=InnoDB;ALTER TABLE t2 ADD FOREIGN KEY (a) REFERENCES t1(a);ALTER TABLE t2 DROP FOREIGN KEY t2_ibfk_1;ALTER TABLE t2 ADD CONSTRAINT t2_ibfk_0 FOREIGN KEY (a) REFERENCES t1(a);ALTER TABLE t2 DROP FOREIGN KEY t2_ibfk_0;SHOW CREATE TABLE t2;Table Create Tablet2 CREATE TABLE `t2` ( `a` int(11) DEFAULT NULL, KEY `t2_ibfk_0` (`a`)) ENGINE=InnoDB DEFAULT CHARSET=latin1DROP TABLE t2,t1;create table t1(a int not null, b int, c int, d int, primary key(a)) engine=innodb;insert into t1(a) values (1),(2),(3);commit;set autocommit = 0;update t1 set b = 5 where a = 2;create trigger t1t before insert on t1 for each row begin set NEW.b = NEW.a * 10 + 5, NEW.c = NEW.a / 10; end |set autocommit = 0;insert into t1(a) values (10),(20),(30),(40),(50),(60),(70),(80),(90),(100),(11),(21),(31),(41),(51),(61),(71),(81),(91),(101),(12),(22),(32),(42),(52),(62),(72),(82),(92),(102),(13),(23),(33),(43),(53),(63),(73),(83),(93),(103),(14),(24),(34),(44),(54),(64),(74),(84),(94),(104);commit;commit;drop trigger t1t;drop table t1;create table t1(a int not null, b int, c int, d int, primary key(a)) engine=innodb;create table t2(a int not null, b int, c int, d int, primary key(a)) engine=innodb;create table t3(a int not null, b int, c int, d int, primary key(a)) engine=innodb;create table t4(a int not null, b int, c int, d int, primary key(a)) engine=innodb;create table t5(a int not null, b int, c int, d int, primary key(a)) engine=innodb;insert into t1(a) values (1),(2),(3);insert into t2(a) values (1),(2),(3);insert into t3(a) values (1),(2),(3);insert into t4(a) values (1),(2),(3);insert into t3(a) values (5),(7),(8);insert into t4(a) values (5),(7),(8);insert into t5(a) values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12);create trigger t1t before insert on t1 for each row begin INSERT INTO t2 SET a = NEW.a;end |create trigger t2t before insert on t2 for each row beginDELETE FROM t3 WHERE a = NEW.a;end |create trigger t3t before delete on t3 for each row begin UPDATE t4 SET b = b + 1 WHERE a = OLD.a;end |create trigger t4t before update on t4 for each row beginUPDATE t5 SET b = b + 1 where a = NEW.a;end |commit;set autocommit = 0;update t1 set b = b + 5 where a = 1;update t2 set b = b + 5 where a = 1;update t3 set b = b + 5 where a = 1;update t4 set b = b + 5 where a = 1;insert into t5(a) values(20);set autocommit = 0;insert into t1(a) values(7);insert into t2(a) values(8);delete from t2 where a = 3;update t4 set b = b + 1 where a = 3;commit;drop trigger t1t;drop trigger t2t;drop trigger t3t;drop trigger t4t;drop table t1, t2, t3, t4, t5;CREATE TABLE t1 (field1 varchar(8) NOT NULL DEFAULT '',field2 varchar(8) NOT NULL DEFAULT '',PRIMARY KEY (field1, field2)) ENGINE=InnoDB;CREATE TABLE t2 (field1 varchar(8) NOT NULL DEFAULT '' PRIMARY KEY,FOREIGN KEY (field1) REFERENCES t1 (field1)ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB;INSERT INTO t1 VALUES ('old', 'somevalu');INSERT INTO t1 VALUES ('other', 'anyvalue');INSERT INTO t2 VALUES ('old');INSERT INTO t2 VALUES ('other');UPDATE t1 SET field1 = 'other' WHERE field2 = 'somevalu';ERROR 23000: Upholding foreign key constraints for table 't1', entry 'other-somevalu', key 1 would lead to a duplicate entryDROP TABLE t2;DROP TABLE t1;create table t1 (c1 bigint not null,c2 bigint not null,primary key (c1),unique key (c2)) engine=innodb;create table t2 (c1 bigint not null,primary key (c1)) engine=innodb;alter table t1 add constraint c2_fk foreign key (c2)references t2(c1) on delete cascade;show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `c1` bigint(20) NOT NULL, `c2` bigint(20) NOT NULL, PRIMARY KEY (`c1`), UNIQUE KEY `c2` (`c2`), CONSTRAINT `c2_fk` FOREIGN KEY (`c2`) REFERENCES `t2` (`c1`) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=latin1alter table t1 drop foreign key c2_fk;show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `c1` bigint(20) NOT NULL, `c2` bigint(20) NOT NULL, PRIMARY KEY (`c1`), UNIQUE KEY `c2` (`c2`)) ENGINE=InnoDB DEFAULT CHARSET=latin1drop table t1, t2;create table t1(a date) engine=innodb;create table t2(a date, key(a)) engine=innodb;insert into t1 values('2005-10-01');insert into t2 values('2005-10-01');select * from t1, t2where t2.a between t1.a - interval 2 day and t1.a + interval 2 day;a a2005-10-01 2005-10-01drop table t1, t2;create table t1 (id int not null, f_id int not null, f int not null,primary key(f_id, id)) engine=innodb;create table t2 (id int not null,s_id int not null,s varchar(200),primary key(id)) engine=innodb;INSERT INTO t1 VALUES (8, 1, 3);INSERT INTO t1 VALUES (1, 2, 1);INSERT INTO t2 VALUES (1, 0, '');INSERT INTO t2 VALUES (8, 1, '');commit;DELETE ml.* FROM t1 AS ml LEFT JOIN t2 AS mm ON (mm.id=ml.id)WHERE mm.id IS NULL;select ml.* from t1 as ml left join t2 as mm on (mm.id=ml.id)where mm.id is null lock in share mode;id f_id fdrop table t1,t2;create table t1(a int not null, b int, primary key(a)) engine=innodb;insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2),(7,3);commit;set autocommit = 0;SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;update t1 set b = 5 where b = 1;set autocommit = 0;SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;select * from t1 where a = 7 and b = 3 for update;a b7 3commit;commit;drop table t1;create table t1(a int not null, b int, primary key(a)) engine=innodb;insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2);commit;set autocommit = 0;select * from t1 lock in share mode;a b1 12 23 14 25 16 2update t1 set b = 5 where b = 1;set autocommit = 0;select * from t1 where a = 2 and b = 2 for update;ERROR HY000: Lock wait timeout exceeded; try restarting transactioncommit;commit;drop table t1;create table t1(a int not null, b int, primary key(a)) engine=innodb;insert into t1 values (1,2),(5,3),(4,2);create table t2(d int not null, e int, primary key(d)) engine=innodb;insert into t2 values (8,6),(12,1),(3,1);commit;set autocommit = 0;select * from t2 for update;d e3 18 612 1set autocommit = 0;SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;insert into t1 select * from t2;update t1 set b = (select e from t2 where a = d);create table t3(d int not null, e int, primary key(d)) engine=innodbselect * from t2;commit;commit;drop table t1, t2, t3;create table t1(a int not null, b int, primary key(a)) engine=innodb;insert into t1 values (1,2),(5,3),(4,2);create table t2(a int not null, b int, primary key(a)) engine=innodb;insert into t2 values (8,6),(12,1),(3,1);create table t3(d int not null, b int, primary key(d)) engine=innodb;insert into t3 values (8,6),(12,1),(3,1);create table t5(a int not null, b int, primary key(a)) engine=innodb;insert into t5 values (1,2),(5,3),(4,2);create table t6(d int not null, e int, primary key(d)) engine=innodb;insert into t6 values (8,6),(12,1),(3,1);create table t8(a int not null, b int, primary key(a)) engine=innodb;insert into t8 values (1,2),(5,3),(4,2);create table t9(d int not null, e int, primary key(d)) engine=innodb;insert into t9 values (8,6),(12,1),(3,1);commit;set autocommit = 0;select * from t2 for update;a b3 18 612 1set autocommit = 0;SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;insert into t1 select * from t2;set autocommit = 0;SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;update t3 set b = (select b from t2 where a = d);set autocommit = 0;SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;create table t4(a int not null, b int, primary key(a)) engine=innodb select * from t2;set autocommit = 0;SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;insert into t5 (select * from t2 lock in share mode);set autocommit = 0;SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;update t6 set e = (select b from t2 where a = d lock in share mode);set autocommit = 0;SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;create table t7(a int not null, b int, primary key(a)) engine=innodb select * from t2 lock in share mode;set autocommit = 0;SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;insert into t8 (select * from t2 for update);set autocommit = 0;SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;update t9 set e = (select b from t2 where a = d for update);set autocommit = 0;SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;create table t10(a int not null, b int, primary key(a)) engine=innodb select * from t2 for update;ERROR HY000: Lock wait timeout exceeded; try restarting transactionERROR HY000: Lock wait timeout exceeded; try restarting transactionERROR HY000: Lock wait timeout exceeded; try restarting transactionERROR HY000: Lock wait timeout exceeded; try restarting transactionERROR HY000: Lock wait timeout exceeded; try restarting transactionERROR HY000: Lock wait timeout exceeded; try restarting transactionERROR HY000: Lock wait timeout exceeded; try restarting transactionERROR HY000: Lock wait timeout exceeded; try restarting transactionERROR HY000: Lock wait timeout exceeded; try restarting transactioncommit;drop table t1, t2, t3, t5, t6, t8, t9;CREATE TABLE t1 (DB_ROW_ID int) engine=innodb;ERROR HY000: Can't create table 'test.t1' (errno: -1)CREATE TABLE t1 (a BIGINT(20) NOT NULL,PRIMARY KEY (a)) ENGINE=INNODB DEFAULT CHARSET=UTF8;CREATE TABLE t2 (a BIGINT(20) NOT NULL,b VARCHAR(128) NOT NULL,c TEXT NOT NULL,PRIMARY KEY (a,b),KEY idx_t2_b_c (b,c(200)),CONSTRAINT t_fk FOREIGN KEY (a) REFERENCES t1 (a) ON DELETE CASCADE) ENGINE=INNODB DEFAULT CHARSET=UTF8;INSERT INTO t1 VALUES (1);INSERT INTO t2 VALUES (1, 'bar', 'vbar');INSERT INTO t2 VALUES (1, 'BAR2', 'VBAR');INSERT INTO t2 VALUES (1, 'bar_bar', 'bibi');INSERT INTO t2 VALUES (1, 'customer_over', '1');SELECT * FROM t2 WHERE b = 'customer_over';a b c1 customer_over 1SELECT * FROM t2 WHERE BINARY b = 'customer_over';a b c1 customer_over 1SELECT DISTINCT p0.a FROM t2 p0 WHERE p0.b = 'customer_over';a1/* Bang: Empty result set, above was expected: */SELECT DISTINCT p0.a FROM t2 p0 WHERE BINARY p0.b = 'customer_over';a1SELECT p0.a FROM t2 p0 WHERE BINARY p0.b = 'customer_over';a1drop table t2, t1;CREATE TABLE t1 ( a int ) ENGINE=innodb;BEGIN;INSERT INTO t1 VALUES (1);OPTIMIZE TABLE t1;Table Op Msg_type Msg_texttest.t1 optimize status OKDROP TABLE t1;CREATE TABLE t1 (id int PRIMARY KEY, f int NOT NULL, INDEX(f)) ENGINE=InnoDB;CREATE TABLE t2 (id int PRIMARY KEY, f INT NOT NULL,CONSTRAINT t2_t1 FOREIGN KEY (id) REFERENCES t1 (id)ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB;ALTER TABLE t2 ADD FOREIGN KEY (f) REFERENCES t1 (f) ONDELETE CASCADE ON UPDATE CASCADE;SHOW CREATE TABLE t2;Table Create Tablet2 CREATE TABLE `t2` ( `id` int(11) NOT NULL, `f` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `f` (`f`), CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`f`) REFERENCES `t1` (`f`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `t2_t1` FOREIGN KEY (`id`) REFERENCES `t1` (`id`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=latin1DROP TABLE t2, t1;CREATE TABLE t1 (a INT, INDEX(a)) ENGINE=InnoDB;CREATE TABLE t2 (a INT, INDEX(a)) ENGINE=InnoDB;INSERT INTO t1 VALUES (1);INSERT INTO t2 VALUES (1);ALTER TABLE t2 ADD FOREIGN KEY (a) REFERENCES t1 (a) ON DELETE SET NULL;ALTER TABLE t2 MODIFY a INT NOT NULL;ERROR HY000: Error on rename of '#sql-temporary' to './test/t2' (errno: 150)DELETE FROM t1;DROP TABLE t2,t1;
|