1378 lines
		
	
	
		
			46 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			1378 lines
		
	
	
		
			46 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								drop table if exists t1,t2;
							 | 
						|||
| 
								 | 
							
								drop database if exists mysqltest;
							 | 
						|||
| 
								 | 
							
								create table t1 (
							 | 
						|||
| 
								 | 
							
								col1 int not null auto_increment primary key,
							 | 
						|||
| 
								 | 
							
								col2 varchar(30) not null,
							 | 
						|||
| 
								 | 
							
								col3 varchar (20) not null,
							 | 
						|||
| 
								 | 
							
								col4 varchar(4) not null,
							 | 
						|||
| 
								 | 
							
								col5 enum('PENDING', 'ACTIVE', 'DISABLED') not null,
							 | 
						|||
| 
								 | 
							
								col6 int not null, to_be_deleted int);
							 | 
						|||
| 
								 | 
							
								insert into t1 values (2,4,3,5,"PENDING",1,7);
							 | 
						|||
| 
								 | 
							
								alter table t1
							 | 
						|||
| 
								 | 
							
								add column col4_5 varchar(20) not null after col4,
							 | 
						|||
| 
								 | 
							
								add column col7 varchar(30) not null after col5,
							 | 
						|||
| 
								 | 
							
								add column col8 datetime not null, drop column to_be_deleted,
							 | 
						|||
| 
								 | 
							
								change column col2 fourth varchar(30) not null after col3,
							 | 
						|||
| 
								 | 
							
								modify column col6 int not null first;
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								col6	col1	col3	fourth	col4	col4_5	col5	col7	col8
							 | 
						|||
| 
								 | 
							
								1	2	3	4	5		PENDING		0000-00-00 00:00:00
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (bandID MEDIUMINT UNSIGNED NOT NULL PRIMARY KEY, payoutID SMALLINT UNSIGNED NOT NULL);
							 | 
						|||
| 
								 | 
							
								insert into t1 (bandID,payoutID) VALUES (1,6),(2,6),(3,4),(4,9),(5,10),(6,1),(7,12),(8,12);
							 | 
						|||
| 
								 | 
							
								alter table t1 add column new_col int, order by payoutid,bandid;
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								bandID	payoutID	new_col
							 | 
						|||
| 
								 | 
							
								6	1	NULL
							 | 
						|||
| 
								 | 
							
								3	4	NULL
							 | 
						|||
| 
								 | 
							
								1	6	NULL
							 | 
						|||
| 
								 | 
							
								2	6	NULL
							 | 
						|||
| 
								 | 
							
								4	9	NULL
							 | 
						|||
| 
								 | 
							
								5	10	NULL
							 | 
						|||
| 
								 | 
							
								7	12	NULL
							 | 
						|||
| 
								 | 
							
								8	12	NULL
							 | 
						|||
| 
								 | 
							
								alter table t1 order by bandid,payoutid;
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								bandID	payoutID	new_col
							 | 
						|||
| 
								 | 
							
								1	6	NULL
							 | 
						|||
| 
								 | 
							
								2	6	NULL
							 | 
						|||
| 
								 | 
							
								3	4	NULL
							 | 
						|||
| 
								 | 
							
								4	9	NULL
							 | 
						|||
| 
								 | 
							
								5	10	NULL
							 | 
						|||
| 
								 | 
							
								6	1	NULL
							 | 
						|||
| 
								 | 
							
								7	12	NULL
							 | 
						|||
| 
								 | 
							
								8	12	NULL
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (
							 | 
						|||
| 
								 | 
							
								GROUP_ID int(10) unsigned DEFAULT '0' NOT NULL,
							 | 
						|||
| 
								 | 
							
								LANG_ID smallint(5) unsigned DEFAULT '0' NOT NULL,
							 | 
						|||
| 
								 | 
							
								NAME varchar(80) DEFAULT '' NOT NULL,
							 | 
						|||
| 
								 | 
							
								PRIMARY KEY (GROUP_ID,LANG_ID),
							 | 
						|||
| 
								 | 
							
								KEY NAME (NAME));
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 CHANGE NAME NAME CHAR(80) not null;
							 | 
						|||
| 
								 | 
							
								SHOW FULL COLUMNS FROM t1;
							 | 
						|||
| 
								 | 
							
								Field	Type	Collation	Null	Key	Default	Extra	Privileges	Comment
							 | 
						|||
| 
								 | 
							
								GROUP_ID	int(10) unsigned	NULL	NO	PRI	0		#	
							 | 
						|||
| 
								 | 
							
								LANG_ID	smallint(5) unsigned	NULL	NO	PRI	0		#	
							 | 
						|||
| 
								 | 
							
								NAME	char(80)	latin1_swedish_ci	NO	MUL	NULL		#	
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (n int);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(9),(3),(12),(10);
							 | 
						|||
| 
								 | 
							
								alter table t1 order by n;
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								n
							 | 
						|||
| 
								 | 
							
								3
							 | 
						|||
| 
								 | 
							
								9
							 | 
						|||
| 
								 | 
							
								10
							 | 
						|||
| 
								 | 
							
								12
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (
							 | 
						|||
| 
								 | 
							
								id int(11) unsigned NOT NULL default '0',
							 | 
						|||
| 
								 | 
							
								category_id tinyint(4) unsigned NOT NULL default '0',
							 | 
						|||
| 
								 | 
							
								type_id tinyint(4) unsigned NOT NULL default '0',
							 | 
						|||
| 
								 | 
							
								body text NOT NULL,
							 | 
						|||
| 
								 | 
							
								user_id int(11) unsigned NOT NULL default '0',
							 | 
						|||
| 
								 | 
							
								status enum('new','old') NOT NULL default 'new',
							 | 
						|||
| 
								 | 
							
								PRIMARY KEY (id)
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM;
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 ORDER BY t1.id, t1.status, t1.type_id, t1.user_id, t1.body;
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (AnamneseId int(10) unsigned NOT NULL auto_increment,B BLOB,PRIMARY KEY (AnamneseId)) engine=myisam;
							 | 
						|||
| 
								 | 
							
								insert into t1 values (null,"hello");
							 | 
						|||
| 
								 | 
							
								LOCK TABLES t1 WRITE;
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 ADD Column new_col int not null;
							 | 
						|||
| 
								 | 
							
								UNLOCK TABLES;
							 | 
						|||
| 
								 | 
							
								OPTIMIZE TABLE t1;
							 | 
						|||
| 
								 | 
							
								Table	Op	Msg_type	Msg_text
							 | 
						|||
| 
								 | 
							
								test.t1	optimize	status	OK
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (i int unsigned not null auto_increment primary key);
							 | 
						|||
| 
								 | 
							
								insert into t1 values (null),(null),(null),(null);
							 | 
						|||
| 
								 | 
							
								alter table t1 drop i,add i int unsigned not null auto_increment, drop primary key, add primary key (i);
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								i
							 | 
						|||
| 
								 | 
							
								1
							 | 
						|||
| 
								 | 
							
								2
							 | 
						|||
| 
								 | 
							
								3
							 | 
						|||
| 
								 | 
							
								4
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (name char(15));
							 | 
						|||
| 
								 | 
							
								insert into t1 (name) values ("current");
							 | 
						|||
| 
								 | 
							
								create database mysqltest;
							 | 
						|||
| 
								 | 
							
								create table mysqltest.t1 (name char(15));
							 | 
						|||
| 
								 | 
							
								insert into mysqltest.t1 (name) values ("mysqltest");
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								name
							 | 
						|||
| 
								 | 
							
								current
							 | 
						|||
| 
								 | 
							
								select * from mysqltest.t1;
							 | 
						|||
| 
								 | 
							
								name
							 | 
						|||
| 
								 | 
							
								mysqltest
							 | 
						|||
| 
								 | 
							
								alter table t1 rename mysqltest.t1;
							 | 
						|||
| 
								 | 
							
								ERROR 42S01: Table 't1' already exists
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								name
							 | 
						|||
| 
								 | 
							
								current
							 | 
						|||
| 
								 | 
							
								select * from mysqltest.t1;
							 | 
						|||
| 
								 | 
							
								name
							 | 
						|||
| 
								 | 
							
								mysqltest
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								drop database mysqltest;
							 | 
						|||
| 
								 | 
							
								create table t1 (n1 int not null, n2 int, n3 int, n4 float,
							 | 
						|||
| 
								 | 
							
								unique(n1),
							 | 
						|||
| 
								 | 
							
								key (n1, n2, n3, n4),
							 | 
						|||
| 
								 | 
							
								key (n2, n3, n4, n1),
							 | 
						|||
| 
								 | 
							
								key (n3, n4, n1, n2),
							 | 
						|||
| 
								 | 
							
								key (n4, n1, n2, n3) );
							 | 
						|||
| 
								 | 
							
								alter table t1 disable keys;
							 | 
						|||
| 
								 | 
							
								show keys from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	n1	1	n1	A	0	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n1_2	1	n1	A	NULL	NULL	NULL		BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n1_2	2	n2	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n1_2	3	n3	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n1_2	4	n4	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n2	1	n2	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n2	2	n3	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n2	3	n4	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n2	4	n1	A	NULL	NULL	NULL		BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n3	1	n3	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n3	2	n4	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n3	3	n1	A	NULL	NULL	NULL		BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n3	4	n2	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n4	1	n4	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n4	2	n1	A	NULL	NULL	NULL		BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n4	3	n2	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								t1	1	n4	4	n3	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								insert into t1 values(10,RAND()*1000,RAND()*1000,RAND());
							 | 
						|||
| 
								 | 
							
								insert into t1 values(9,RAND()*1000,RAND()*1000,RAND());
							 | 
						|||
| 
								 | 
							
								insert into t1 values(8,RAND()*1000,RAND()*1000,RAND());
							 | 
						|||
| 
								 | 
							
								insert into t1 values(7,RAND()*1000,RAND()*1000,RAND());
							 | 
						|||
| 
								 | 
							
								insert into t1 values(6,RAND()*1000,RAND()*1000,RAND());
							 | 
						|||
| 
								 | 
							
								insert into t1 values(5,RAND()*1000,RAND()*1000,RAND());
							 | 
						|||
| 
								 | 
							
								insert into t1 values(4,RAND()*1000,RAND()*1000,RAND());
							 | 
						|||
| 
								 | 
							
								insert into t1 values(3,RAND()*1000,RAND()*1000,RAND());
							 | 
						|||
| 
								 | 
							
								insert into t1 values(2,RAND()*1000,RAND()*1000,RAND());
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,RAND()*1000,RAND()*1000,RAND());
							 | 
						|||
| 
								 | 
							
								alter table t1 enable keys;
							 | 
						|||
| 
								 | 
							
								show keys from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	n1	1	n1	A	10	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n1_2	1	n1	A	10	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n1_2	2	n2	A	10	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n1_2	3	n3	A	10	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n1_2	4	n4	A	10	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n2	1	n2	A	10	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n2	2	n3	A	10	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n2	3	n4	A	10	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n2	4	n1	A	10	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n3	1	n3	A	10	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n3	2	n4	A	10	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n3	3	n1	A	10	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n3	4	n2	A	10	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n4	1	n4	A	10	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n4	2	n1	A	10	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n4	3	n2	A	10	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	n4	4	n3	A	10	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (i int unsigned not null auto_increment primary key);
							 | 
						|||
| 
								 | 
							
								alter table t1 rename t2;
							 | 
						|||
| 
								 | 
							
								alter table t2 rename t1, add c char(10) comment "no comment";
							 | 
						|||
| 
								 | 
							
								show columns from t1;
							 | 
						|||
| 
								 | 
							
								Field	Type	Null	Key	Default	Extra
							 | 
						|||
| 
								 | 
							
								i	int(10) unsigned	NO	PRI	NULL	auto_increment
							 | 
						|||
| 
								 | 
							
								c	char(10)	YES		NULL	
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (a int, b int);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,100), (2,100), (3, 100);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,99), (2,99), (3, 99);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,98), (2,98), (3, 98);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,97), (2,97), (3, 97);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,96), (2,96), (3, 96);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,95), (2,95), (3, 95);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,94), (2,94), (3, 94);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,93), (2,93), (3, 93);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,92), (2,92), (3, 92);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,91), (2,91), (3, 91);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,90), (2,90), (3, 90);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,89), (2,89), (3, 89);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,88), (2,88), (3, 88);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,87), (2,87), (3, 87);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,86), (2,86), (3, 86);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,85), (2,85), (3, 85);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,84), (2,84), (3, 84);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,83), (2,83), (3, 83);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,82), (2,82), (3, 82);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,81), (2,81), (3, 81);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,80), (2,80), (3, 80);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,79), (2,79), (3, 79);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,78), (2,78), (3, 78);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,77), (2,77), (3, 77);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,76), (2,76), (3, 76);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,75), (2,75), (3, 75);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,74), (2,74), (3, 74);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,73), (2,73), (3, 73);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,72), (2,72), (3, 72);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,71), (2,71), (3, 71);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,70), (2,70), (3, 70);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,69), (2,69), (3, 69);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,68), (2,68), (3, 68);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,67), (2,67), (3, 67);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,66), (2,66), (3, 66);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,65), (2,65), (3, 65);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,64), (2,64), (3, 64);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,63), (2,63), (3, 63);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,62), (2,62), (3, 62);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,61), (2,61), (3, 61);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,60), (2,60), (3, 60);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,59), (2,59), (3, 59);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,58), (2,58), (3, 58);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,57), (2,57), (3, 57);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,56), (2,56), (3, 56);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,55), (2,55), (3, 55);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,54), (2,54), (3, 54);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,53), (2,53), (3, 53);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,52), (2,52), (3, 52);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,51), (2,51), (3, 51);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,50), (2,50), (3, 50);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,49), (2,49), (3, 49);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,48), (2,48), (3, 48);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,47), (2,47), (3, 47);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,46), (2,46), (3, 46);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,45), (2,45), (3, 45);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,44), (2,44), (3, 44);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,43), (2,43), (3, 43);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,42), (2,42), (3, 42);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,41), (2,41), (3, 41);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,40), (2,40), (3, 40);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,39), (2,39), (3, 39);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,38), (2,38), (3, 38);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,37), (2,37), (3, 37);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,36), (2,36), (3, 36);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,35), (2,35), (3, 35);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,34), (2,34), (3, 34);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,33), (2,33), (3, 33);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,32), (2,32), (3, 32);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,31), (2,31), (3, 31);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,30), (2,30), (3, 30);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,29), (2,29), (3, 29);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,28), (2,28), (3, 28);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,27), (2,27), (3, 27);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,26), (2,26), (3, 26);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,25), (2,25), (3, 25);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,24), (2,24), (3, 24);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,23), (2,23), (3, 23);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,22), (2,22), (3, 22);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,21), (2,21), (3, 21);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,20), (2,20), (3, 20);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,19), (2,19), (3, 19);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,18), (2,18), (3, 18);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,17), (2,17), (3, 17);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,16), (2,16), (3, 16);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,15), (2,15), (3, 15);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,14), (2,14), (3, 14);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,13), (2,13), (3, 13);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,12), (2,12), (3, 12);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,11), (2,11), (3, 11);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,10), (2,10), (3, 10);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,9), (2,9), (3, 9);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,8), (2,8), (3, 8);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,7), (2,7), (3, 7);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,6), (2,6), (3, 6);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,5), (2,5), (3, 5);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,4), (2,4), (3, 4);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,3), (2,3), (3, 3);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,2), (2,2), (3, 2);
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,1), (2,1), (3, 1);
							 | 
						|||
| 
								 | 
							
								alter table t1 add unique (a,b), add key (b);
							 | 
						|||
| 
								 | 
							
								show keys from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	0	a	2	b	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	b	1	b	A	100	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								analyze table t1;
							 | 
						|||
| 
								 | 
							
								Table	Op	Msg_type	Msg_text
							 | 
						|||
| 
								 | 
							
								test.t1	analyze	status	OK
							 | 
						|||
| 
								 | 
							
								show keys from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	3	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	0	a	2	b	A	300	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	b	1	b	A	100	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (i int(10), index(i) );
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 DISABLE KEYS;
							 | 
						|||
| 
								 | 
							
								INSERT DELAYED INTO t1 VALUES(1),(2),(3);
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 ENABLE KEYS;
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (
							 | 
						|||
| 
								 | 
							
								Host varchar(16) binary NOT NULL default '',
							 | 
						|||
| 
								 | 
							
								User varchar(16) binary NOT NULL default '',
							 | 
						|||
| 
								 | 
							
								PRIMARY KEY  (Host,User)
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM;
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 DISABLE KEYS;
							 | 
						|||
| 
								 | 
							
								LOCK TABLES t1 WRITE;
							 | 
						|||
| 
								 | 
							
								INSERT INTO t1 VALUES ('localhost','root'),('localhost',''),('games','monty');
							 | 
						|||
| 
								 | 
							
								SHOW INDEX FROM t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	PRIMARY	1	Host	A	NULL	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	0	PRIMARY	2	User	A	0	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 ENABLE KEYS;
							 | 
						|||
| 
								 | 
							
								UNLOCK TABLES;
							 | 
						|||
| 
								 | 
							
								CHECK TABLES t1;
							 | 
						|||
| 
								 | 
							
								Table	Op	Msg_type	Msg_text
							 | 
						|||
| 
								 | 
							
								test.t1	check	status	OK
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (
							 | 
						|||
| 
								 | 
							
								Host varchar(16) binary NOT NULL default '',
							 | 
						|||
| 
								 | 
							
								User varchar(16) binary NOT NULL default '',
							 | 
						|||
| 
								 | 
							
								PRIMARY KEY  (Host,User),
							 | 
						|||
| 
								 | 
							
								KEY  (Host)
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM;
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 DISABLE KEYS;
							 | 
						|||
| 
								 | 
							
								SHOW INDEX FROM t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	PRIMARY	1	Host	A	NULL	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	0	PRIMARY	2	User	A	0	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	Host	1	Host	A	NULL	NULL	NULL		BTREE	disabled
							 | 
						|||
| 
								 | 
							
								LOCK TABLES t1 WRITE;
							 | 
						|||
| 
								 | 
							
								INSERT INTO t1 VALUES ('localhost','root'),('localhost','');
							 | 
						|||
| 
								 | 
							
								SHOW INDEX FROM t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	PRIMARY	1	Host	A	NULL	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	0	PRIMARY	2	User	A	0	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	Host	1	Host	A	NULL	NULL	NULL		BTREE	disabled
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 ENABLE KEYS;
							 | 
						|||
| 
								 | 
							
								SHOW INDEX FROM t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	PRIMARY	1	Host	A	NULL	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	0	PRIMARY	2	User	A	2	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	Host	1	Host	A	1	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								UNLOCK TABLES;
							 | 
						|||
| 
								 | 
							
								CHECK TABLES t1;
							 | 
						|||
| 
								 | 
							
								Table	Op	Msg_type	Msg_text
							 | 
						|||
| 
								 | 
							
								test.t1	check	status	OK
							 | 
						|||
| 
								 | 
							
								LOCK TABLES t1 WRITE;
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 RENAME t2;
							 | 
						|||
| 
								 | 
							
								UNLOCK TABLES;
							 | 
						|||
| 
								 | 
							
								select * from t2;
							 | 
						|||
| 
								 | 
							
								Host	User
							 | 
						|||
| 
								 | 
							
								localhost	
							 | 
						|||
| 
								 | 
							
								localhost	root
							 | 
						|||
| 
								 | 
							
								DROP TABLE t2;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (
							 | 
						|||
| 
								 | 
							
								Host varchar(16) binary NOT NULL default '',
							 | 
						|||
| 
								 | 
							
								User varchar(16) binary NOT NULL default '',
							 | 
						|||
| 
								 | 
							
								PRIMARY KEY  (Host,User),
							 | 
						|||
| 
								 | 
							
								KEY  (Host)
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM;
							 | 
						|||
| 
								 | 
							
								LOCK TABLES t1 WRITE;
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 DISABLE KEYS;
							 | 
						|||
| 
								 | 
							
								SHOW INDEX FROM t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	PRIMARY	1	Host	A	NULL	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	0	PRIMARY	2	User	A	0	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	Host	1	Host	A	NULL	NULL	NULL		BTREE	disabled
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (a int);
							 | 
						|||
| 
								 | 
							
								alter table t1 rename to ``;
							 | 
						|||
| 
								 | 
							
								ERROR 42000: Incorrect table name ''
							 | 
						|||
| 
								 | 
							
								rename table t1 to ``;
							 | 
						|||
| 
								 | 
							
								ERROR 42000: Incorrect table name ''
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								drop table if exists t1, t2;
							 | 
						|||
| 
								 | 
							
								Warnings:
							 | 
						|||
| 
								 | 
							
								Note	1051	Unknown table 't1'
							 | 
						|||
| 
								 | 
							
								Note	1051	Unknown table 't2'
							 | 
						|||
| 
								 | 
							
								create table t1 ( a varchar(10) not null primary key ) engine=myisam;
							 | 
						|||
| 
								 | 
							
								create table t2 ( a varchar(10) not null primary key ) engine=merge union=(t1);
							 | 
						|||
| 
								 | 
							
								flush tables;
							 | 
						|||
| 
								 | 
							
								alter table t1 modify a varchar(10);
							 | 
						|||
| 
								 | 
							
								show create table t2;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t2	CREATE TABLE `t2` (
							 | 
						|||
| 
								 | 
							
								  `a` varchar(10) NOT NULL,
							 | 
						|||
| 
								 | 
							
								  PRIMARY KEY (`a`)
							 | 
						|||
| 
								 | 
							
								) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`t1`)
							 | 
						|||
| 
								 | 
							
								flush tables;
							 | 
						|||
| 
								 | 
							
								alter table t1 modify a varchar(10) not null;
							 | 
						|||
| 
								 | 
							
								show create table t2;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t2	CREATE TABLE `t2` (
							 | 
						|||
| 
								 | 
							
								  `a` varchar(10) NOT NULL,
							 | 
						|||
| 
								 | 
							
								  PRIMARY KEY (`a`)
							 | 
						|||
| 
								 | 
							
								) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`t1`)
							 | 
						|||
| 
								 | 
							
								drop table if exists t1, t2;
							 | 
						|||
| 
								 | 
							
								create table t1 (a int, b int, c int, d int, e int, f int, g int, h int,i int, primary key (a,b,c,d,e,f,g,i,h)) engine=MyISAM;
							 | 
						|||
| 
								 | 
							
								insert into t1 (a) values(1);
							 | 
						|||
| 
								 | 
							
								show table status like 't1';
							 | 
						|||
| 
								 | 
							
								Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	Max_data_length	Index_length	Data_free	Auto_increment	Create_time	Update_time	Check_time	Collation	Checksum	Create_options	Comment
							 | 
						|||
| 
								 | 
							
								t1	MyISAM	10	Fixed	1	37	X	X	X	X	X	X	X	X	latin1_swedish_ci	NULL		
							 | 
						|||
| 
								 | 
							
								alter table t1 modify a int;
							 | 
						|||
| 
								 | 
							
								show table status like 't1';
							 | 
						|||
| 
								 | 
							
								Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	Max_data_length	Index_length	Data_free	Auto_increment	Create_time	Update_time	Check_time	Collation	Checksum	Create_options	Comment
							 | 
						|||
| 
								 | 
							
								t1	MyISAM	10	Fixed	1	37	X	X	X	X	X	X	X	X	latin1_swedish_ci	NULL		
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (a int not null, b int not null, c int not null, d int not null, e int not null, f int not null, g int not null, h int not null,i int not null, primary key (a,b,c,d,e,f,g,i,h)) engine=MyISAM;
							 | 
						|||
| 
								 | 
							
								insert into t1 (a) values(1);
							 | 
						|||
| 
								 | 
							
								Warnings:
							 | 
						|||
| 
								 | 
							
								Warning	1364	Field 'b' doesn't have a default value
							 | 
						|||
| 
								 | 
							
								Warning	1364	Field 'c' doesn't have a default value
							 | 
						|||
| 
								 | 
							
								Warning	1364	Field 'd' doesn't have a default value
							 | 
						|||
| 
								 | 
							
								Warning	1364	Field 'e' doesn't have a default value
							 | 
						|||
| 
								 | 
							
								Warning	1364	Field 'f' doesn't have a default value
							 | 
						|||
| 
								 | 
							
								Warning	1364	Field 'g' doesn't have a default value
							 | 
						|||
| 
								 | 
							
								Warning	1364	Field 'h' doesn't have a default value
							 | 
						|||
| 
								 | 
							
								Warning	1364	Field 'i' doesn't have a default value
							 | 
						|||
| 
								 | 
							
								show table status like 't1';
							 | 
						|||
| 
								 | 
							
								Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	Max_data_length	Index_length	Data_free	Auto_increment	Create_time	Update_time	Check_time	Collation	Checksum	Create_options	Comment
							 | 
						|||
| 
								 | 
							
								t1	MyISAM	10	Fixed	1	37	X	X	X	X	X	X	X	X	latin1_swedish_ci	NULL		
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								set names koi8r;
							 | 
						|||
| 
								 | 
							
								create table t1 (a char(10) character set koi8r);
							 | 
						|||
| 
								 | 
							
								insert into t1 values ('<27><><EFBFBD><EFBFBD>');
							 | 
						|||
| 
								 | 
							
								select a,hex(a) from t1;
							 | 
						|||
| 
								 | 
							
								a	hex(a)
							 | 
						|||
| 
								 | 
							
								<EFBFBD><EFBFBD><EFBFBD><EFBFBD>	D4C5D3D4
							 | 
						|||
| 
								 | 
							
								alter table t1 change a a char(10) character set cp1251;
							 | 
						|||
| 
								 | 
							
								select a,hex(a) from t1;
							 | 
						|||
| 
								 | 
							
								a	hex(a)
							 | 
						|||
| 
								 | 
							
								<EFBFBD><EFBFBD><EFBFBD><EFBFBD>	F2E5F1F2
							 | 
						|||
| 
								 | 
							
								alter table t1 change a a binary(4);
							 | 
						|||
| 
								 | 
							
								select a,hex(a) from t1;
							 | 
						|||
| 
								 | 
							
								a	hex(a)
							 | 
						|||
| 
								 | 
							
								<EFBFBD><EFBFBD><EFBFBD><EFBFBD>	F2E5F1F2
							 | 
						|||
| 
								 | 
							
								alter table t1 change a a char(10) character set cp1251;
							 | 
						|||
| 
								 | 
							
								select a,hex(a) from t1;
							 | 
						|||
| 
								 | 
							
								a	hex(a)
							 | 
						|||
| 
								 | 
							
								<EFBFBD><EFBFBD><EFBFBD><EFBFBD>	F2E5F1F2
							 | 
						|||
| 
								 | 
							
								alter table t1 change a a char(10) character set koi8r;
							 | 
						|||
| 
								 | 
							
								select a,hex(a) from t1;
							 | 
						|||
| 
								 | 
							
								a	hex(a)
							 | 
						|||
| 
								 | 
							
								<EFBFBD><EFBFBD><EFBFBD><EFBFBD>	D4C5D3D4
							 | 
						|||
| 
								 | 
							
								alter table t1 change a a varchar(10) character set cp1251;
							 | 
						|||
| 
								 | 
							
								select a,hex(a) from t1;
							 | 
						|||
| 
								 | 
							
								a	hex(a)
							 | 
						|||
| 
								 | 
							
								<EFBFBD><EFBFBD><EFBFBD><EFBFBD>	F2E5F1F2
							 | 
						|||
| 
								 | 
							
								alter table t1 change a a char(10) character set koi8r;
							 | 
						|||
| 
								 | 
							
								select a,hex(a) from t1;
							 | 
						|||
| 
								 | 
							
								a	hex(a)
							 | 
						|||
| 
								 | 
							
								<EFBFBD><EFBFBD><EFBFBD><EFBFBD>	D4C5D3D4
							 | 
						|||
| 
								 | 
							
								alter table t1 change a a text character set cp1251;
							 | 
						|||
| 
								 | 
							
								select a,hex(a) from t1;
							 | 
						|||
| 
								 | 
							
								a	hex(a)
							 | 
						|||
| 
								 | 
							
								<EFBFBD><EFBFBD><EFBFBD><EFBFBD>	F2E5F1F2
							 | 
						|||
| 
								 | 
							
								alter table t1 change a a char(10) character set koi8r;
							 | 
						|||
| 
								 | 
							
								select a,hex(a) from t1;
							 | 
						|||
| 
								 | 
							
								a	hex(a)
							 | 
						|||
| 
								 | 
							
								<EFBFBD><EFBFBD><EFBFBD><EFBFBD>	D4C5D3D4
							 | 
						|||
| 
								 | 
							
								delete from t1;
							 | 
						|||
| 
								 | 
							
								show create table t1;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t1	CREATE TABLE `t1` (
							 | 
						|||
| 
								 | 
							
								  `a` char(10) CHARACTER SET koi8r DEFAULT NULL
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1
							 | 
						|||
| 
								 | 
							
								alter table t1 DEFAULT CHARACTER SET latin1;
							 | 
						|||
| 
								 | 
							
								show create table t1;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t1	CREATE TABLE `t1` (
							 | 
						|||
| 
								 | 
							
								  `a` char(10) CHARACTER SET koi8r DEFAULT NULL
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1
							 | 
						|||
| 
								 | 
							
								alter table t1 CONVERT TO CHARACTER SET latin1;
							 | 
						|||
| 
								 | 
							
								show create table t1;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t1	CREATE TABLE `t1` (
							 | 
						|||
| 
								 | 
							
								  `a` char(10) DEFAULT NULL
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1
							 | 
						|||
| 
								 | 
							
								alter table t1 DEFAULT CHARACTER SET cp1251;
							 | 
						|||
| 
								 | 
							
								show create table t1;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t1	CREATE TABLE `t1` (
							 | 
						|||
| 
								 | 
							
								  `a` char(10) CHARACTER SET latin1 DEFAULT NULL
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=cp1251
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (myblob longblob,mytext longtext) 
							 | 
						|||
| 
								 | 
							
								default charset latin1 collate latin1_general_cs;
							 | 
						|||
| 
								 | 
							
								show create table t1;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t1	CREATE TABLE `t1` (
							 | 
						|||
| 
								 | 
							
								  `myblob` longblob,
							 | 
						|||
| 
								 | 
							
								  `mytext` longtext COLLATE latin1_general_cs
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs
							 | 
						|||
| 
								 | 
							
								alter table t1 character set latin2;
							 | 
						|||
| 
								 | 
							
								show create table t1;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t1	CREATE TABLE `t1` (
							 | 
						|||
| 
								 | 
							
								  `myblob` longblob,
							 | 
						|||
| 
								 | 
							
								  `mytext` longtext CHARACTER SET latin1 COLLATE latin1_general_cs
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin2
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (a int PRIMARY KEY, b INT UNIQUE);
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 DROP PRIMARY KEY;
							 | 
						|||
| 
								 | 
							
								SHOW CREATE TABLE t1;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t1	CREATE TABLE `t1` (
							 | 
						|||
| 
								 | 
							
								  `a` int(11) NOT NULL,
							 | 
						|||
| 
								 | 
							
								  `b` int(11) DEFAULT NULL,
							 | 
						|||
| 
								 | 
							
								  UNIQUE KEY `b` (`b`)
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 DROP PRIMARY KEY;
							 | 
						|||
| 
								 | 
							
								ERROR 42000: Can't DROP 'PRIMARY'; check that column/key exists
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (a int, b int, key(a));
							 | 
						|||
| 
								 | 
							
								insert into t1 values (1,1), (2,2);
							 | 
						|||
| 
								 | 
							
								alter table t1 drop key no_such_key;
							 | 
						|||
| 
								 | 
							
								ERROR 42000: Can't DROP 'no_such_key'; check that column/key exists
							 | 
						|||
| 
								 | 
							
								alter table t1 drop key a;
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE T12207(a int) ENGINE=MYISAM;
							 | 
						|||
| 
								 | 
							
								ALTER TABLE T12207 DISCARD TABLESPACE;
							 | 
						|||
| 
								 | 
							
								ERROR HY000: Table storage engine for 'T12207' doesn't have this option
							 | 
						|||
| 
								 | 
							
								DROP TABLE T12207;
							 | 
						|||
| 
								 | 
							
								create table t1 (a text) character set koi8r;
							 | 
						|||
| 
								 | 
							
								insert into t1 values (_koi8r'<27><><EFBFBD><EFBFBD>');
							 | 
						|||
| 
								 | 
							
								select hex(a) from t1;
							 | 
						|||
| 
								 | 
							
								hex(a)
							 | 
						|||
| 
								 | 
							
								D4C5D3D4
							 | 
						|||
| 
								 | 
							
								alter table t1 convert to character set cp1251;
							 | 
						|||
| 
								 | 
							
								select hex(a) from t1;
							 | 
						|||
| 
								 | 
							
								hex(a)
							 | 
						|||
| 
								 | 
							
								F2E5F1F2
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								create table t1 ( a timestamp );
							 | 
						|||
| 
								 | 
							
								alter table t1 add unique ( a(1) );
							 | 
						|||
| 
								 | 
							
								ERROR HY000: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								drop table if exists t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (a int, key(a));
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	1	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								"this used not to disable the index"
							 | 
						|||
| 
								 | 
							
								alter table t1 modify a int, disable keys;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	1	a	1	a	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								alter table t1 enable keys;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	1	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								alter table t1 modify a bigint, disable keys;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	1	a	1	a	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								alter table t1 enable keys;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	1	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								alter table t1 add b char(10), disable keys;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	1	a	1	a	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								alter table t1 add c decimal(10,2), enable keys;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	1	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								"this however did"
							 | 
						|||
| 
								 | 
							
								alter table t1 disable keys;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	1	a	1	a	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								desc t1;
							 | 
						|||
| 
								 | 
							
								Field	Type	Null	Key	Default	Extra
							 | 
						|||
| 
								 | 
							
								a	bigint(20)	YES	MUL	NULL	
							 | 
						|||
| 
								 | 
							
								b	char(10)	YES		NULL	
							 | 
						|||
| 
								 | 
							
								c	decimal(10,2)	YES		NULL	
							 | 
						|||
| 
								 | 
							
								alter table t1 add d decimal(15,5);
							 | 
						|||
| 
								 | 
							
								"The key should still be disabled"
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	1	a	1	a	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								"Now will test with one unique index"
							 | 
						|||
| 
								 | 
							
								create table t1(a int, b char(10), unique(a));
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								alter table t1 disable keys;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								alter table t1 enable keys;
							 | 
						|||
| 
								 | 
							
								"If no copy on noop change, this won't touch the data file"
							 | 
						|||
| 
								 | 
							
								"Unique index, no change"
							 | 
						|||
| 
								 | 
							
								alter table t1 modify a int, disable keys;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								"Change the type implying data copy"
							 | 
						|||
| 
								 | 
							
								"Unique index, no change"
							 | 
						|||
| 
								 | 
							
								alter table t1 modify a bigint, disable keys;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								alter table t1 modify a bigint;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								alter table t1 modify a int;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								"Now will test with one unique and one non-unique index"
							 | 
						|||
| 
								 | 
							
								create table t1(a int, b char(10), unique(a), key(b));
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	b	1	b	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								alter table t1 disable keys;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	b	1	b	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								alter table t1 enable keys;
							 | 
						|||
| 
								 | 
							
								"If no copy on noop change, this won't touch the data file"
							 | 
						|||
| 
								 | 
							
								"The non-unique index will be disabled"
							 | 
						|||
| 
								 | 
							
								alter table t1 modify a int, disable keys;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	b	1	b	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								alter table t1 enable keys;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	b	1	b	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								"Change the type implying data copy"
							 | 
						|||
| 
								 | 
							
								"The non-unique index will be disabled"
							 | 
						|||
| 
								 | 
							
								alter table t1 modify a bigint, disable keys;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	b	1	b	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								"Change again the type, but leave the indexes as_is"
							 | 
						|||
| 
								 | 
							
								alter table t1 modify a int;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	b	1	b	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								"Try the same. When data is no copied on similar tables, this is noop"
							 | 
						|||
| 
								 | 
							
								alter table t1 modify a int;
							 | 
						|||
| 
								 | 
							
								show indexes from t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	0	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								t1	1	b	1	b	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								create database mysqltest;
							 | 
						|||
| 
								 | 
							
								create table t1 (c1 int);
							 | 
						|||
| 
								 | 
							
								alter table t1 rename mysqltest.t1;
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								ERROR 42S02: Unknown table 't1'
							 | 
						|||
| 
								 | 
							
								alter table mysqltest.t1 rename t1;
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (c1 int);
							 | 
						|||
| 
								 | 
							
								use mysqltest;
							 | 
						|||
| 
								 | 
							
								drop database mysqltest;
							 | 
						|||
| 
								 | 
							
								alter table test.t1 rename t1;
							 | 
						|||
| 
								 | 
							
								ERROR 3D000: No database selected
							 | 
						|||
| 
								 | 
							
								alter table test.t1 rename test.t1;
							 | 
						|||
| 
								 | 
							
								use test;
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1(a INT) ROW_FORMAT=FIXED;
							 | 
						|||
| 
								 | 
							
								CREATE INDEX i1 ON t1(a);
							 | 
						|||
| 
								 | 
							
								SHOW CREATE TABLE t1;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t1	CREATE TABLE `t1` (
							 | 
						|||
| 
								 | 
							
								  `a` int(11) DEFAULT NULL,
							 | 
						|||
| 
								 | 
							
								  KEY `i1` (`a`)
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
							 | 
						|||
| 
								 | 
							
								DROP INDEX i1 ON t1;
							 | 
						|||
| 
								 | 
							
								SHOW CREATE TABLE t1;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t1	CREATE TABLE `t1` (
							 | 
						|||
| 
								 | 
							
								  `a` int(11) DEFAULT NULL
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								DROP TABLE IF EXISTS bug24219;
							 | 
						|||
| 
								 | 
							
								DROP TABLE IF EXISTS bug24219_2;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE bug24219 (a INT, INDEX(a));
							 | 
						|||
| 
								 | 
							
								SHOW INDEX FROM bug24219;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								bug24219	1	a	1	a	A	NULL	NULL	NULL	YES	BTREE	
							 | 
						|||
| 
								 | 
							
								ALTER TABLE bug24219 RENAME TO bug24219_2, DISABLE KEYS;
							 | 
						|||
| 
								 | 
							
								SHOW INDEX FROM bug24219_2;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								bug24219_2	1	a	1	a	A	NULL	NULL	NULL	YES	BTREE	disabled
							 | 
						|||
| 
								 | 
							
								DROP TABLE bug24219_2;
							 | 
						|||
| 
								 | 
							
								drop table if exists table_24562;
							 | 
						|||
| 
								 | 
							
								create table table_24562(
							 | 
						|||
| 
								 | 
							
								section int,
							 | 
						|||
| 
								 | 
							
								subsection int,
							 | 
						|||
| 
								 | 
							
								title varchar(50));
							 | 
						|||
| 
								 | 
							
								insert into table_24562 values
							 | 
						|||
| 
								 | 
							
								(1, 0, "Introduction"),
							 | 
						|||
| 
								 | 
							
								(1, 1, "Authors"),
							 | 
						|||
| 
								 | 
							
								(1, 2, "Acknowledgements"),
							 | 
						|||
| 
								 | 
							
								(2, 0, "Basics"),
							 | 
						|||
| 
								 | 
							
								(2, 1, "Syntax"),
							 | 
						|||
| 
								 | 
							
								(2, 2, "Client"),
							 | 
						|||
| 
								 | 
							
								(2, 3, "Server"),
							 | 
						|||
| 
								 | 
							
								(3, 0, "Intermediate"),
							 | 
						|||
| 
								 | 
							
								(3, 1, "Complex queries"),
							 | 
						|||
| 
								 | 
							
								(3, 2, "Stored Procedures"),
							 | 
						|||
| 
								 | 
							
								(3, 3, "Stored Functions"),
							 | 
						|||
| 
								 | 
							
								(4, 0, "Advanced"),
							 | 
						|||
| 
								 | 
							
								(4, 1, "Replication"),
							 | 
						|||
| 
								 | 
							
								(4, 2, "Load balancing"),
							 | 
						|||
| 
								 | 
							
								(4, 3, "High availability"),
							 | 
						|||
| 
								 | 
							
								(5, 0, "Conclusion");
							 | 
						|||
| 
								 | 
							
								select * from table_24562;
							 | 
						|||
| 
								 | 
							
								section	subsection	title
							 | 
						|||
| 
								 | 
							
								1	0	Introduction
							 | 
						|||
| 
								 | 
							
								1	1	Authors
							 | 
						|||
| 
								 | 
							
								1	2	Acknowledgements
							 | 
						|||
| 
								 | 
							
								2	0	Basics
							 | 
						|||
| 
								 | 
							
								2	1	Syntax
							 | 
						|||
| 
								 | 
							
								2	2	Client
							 | 
						|||
| 
								 | 
							
								2	3	Server
							 | 
						|||
| 
								 | 
							
								3	0	Intermediate
							 | 
						|||
| 
								 | 
							
								3	1	Complex queries
							 | 
						|||
| 
								 | 
							
								3	2	Stored Procedures
							 | 
						|||
| 
								 | 
							
								3	3	Stored Functions
							 | 
						|||
| 
								 | 
							
								4	0	Advanced
							 | 
						|||
| 
								 | 
							
								4	1	Replication
							 | 
						|||
| 
								 | 
							
								4	2	Load balancing
							 | 
						|||
| 
								 | 
							
								4	3	High availability
							 | 
						|||
| 
								 | 
							
								5	0	Conclusion
							 | 
						|||
| 
								 | 
							
								alter table table_24562 add column reviewer varchar(20),
							 | 
						|||
| 
								 | 
							
								order by title;
							 | 
						|||
| 
								 | 
							
								select * from table_24562;
							 | 
						|||
| 
								 | 
							
								section	subsection	title	reviewer
							 | 
						|||
| 
								 | 
							
								1	2	Acknowledgements	NULL
							 | 
						|||
| 
								 | 
							
								4	0	Advanced	NULL
							 | 
						|||
| 
								 | 
							
								1	1	Authors	NULL
							 | 
						|||
| 
								 | 
							
								2	0	Basics	NULL
							 | 
						|||
| 
								 | 
							
								2	2	Client	NULL
							 | 
						|||
| 
								 | 
							
								3	1	Complex queries	NULL
							 | 
						|||
| 
								 | 
							
								5	0	Conclusion	NULL
							 | 
						|||
| 
								 | 
							
								4	3	High availability	NULL
							 | 
						|||
| 
								 | 
							
								3	0	Intermediate	NULL
							 | 
						|||
| 
								 | 
							
								1	0	Introduction	NULL
							 | 
						|||
| 
								 | 
							
								4	2	Load balancing	NULL
							 | 
						|||
| 
								 | 
							
								4	1	Replication	NULL
							 | 
						|||
| 
								 | 
							
								2	3	Server	NULL
							 | 
						|||
| 
								 | 
							
								3	3	Stored Functions	NULL
							 | 
						|||
| 
								 | 
							
								3	2	Stored Procedures	NULL
							 | 
						|||
| 
								 | 
							
								2	1	Syntax	NULL
							 | 
						|||
| 
								 | 
							
								update table_24562 set reviewer="Me" where section=2;
							 | 
						|||
| 
								 | 
							
								update table_24562 set reviewer="You" where section=3;
							 | 
						|||
| 
								 | 
							
								alter table table_24562
							 | 
						|||
| 
								 | 
							
								order by section ASC, subsection DESC;
							 | 
						|||
| 
								 | 
							
								select * from table_24562;
							 | 
						|||
| 
								 | 
							
								section	subsection	title	reviewer
							 | 
						|||
| 
								 | 
							
								1	2	Acknowledgements	NULL
							 | 
						|||
| 
								 | 
							
								1	1	Authors	NULL
							 | 
						|||
| 
								 | 
							
								1	0	Introduction	NULL
							 | 
						|||
| 
								 | 
							
								2	3	Server	Me
							 | 
						|||
| 
								 | 
							
								2	2	Client	Me
							 | 
						|||
| 
								 | 
							
								2	1	Syntax	Me
							 | 
						|||
| 
								 | 
							
								2	0	Basics	Me
							 | 
						|||
| 
								 | 
							
								3	3	Stored Functions	You
							 | 
						|||
| 
								 | 
							
								3	2	Stored Procedures	You
							 | 
						|||
| 
								 | 
							
								3	1	Complex queries	You
							 | 
						|||
| 
								 | 
							
								3	0	Intermediate	You
							 | 
						|||
| 
								 | 
							
								4	3	High availability	NULL
							 | 
						|||
| 
								 | 
							
								4	2	Load balancing	NULL
							 | 
						|||
| 
								 | 
							
								4	1	Replication	NULL
							 | 
						|||
| 
								 | 
							
								4	0	Advanced	NULL
							 | 
						|||
| 
								 | 
							
								5	0	Conclusion	NULL
							 | 
						|||
| 
								 | 
							
								alter table table_24562
							 | 
						|||
| 
								 | 
							
								order by table_24562.subsection ASC, table_24562.section DESC;
							 | 
						|||
| 
								 | 
							
								select * from table_24562;
							 | 
						|||
| 
								 | 
							
								section	subsection	title	reviewer
							 | 
						|||
| 
								 | 
							
								5	0	Conclusion	NULL
							 | 
						|||
| 
								 | 
							
								4	0	Advanced	NULL
							 | 
						|||
| 
								 | 
							
								3	0	Intermediate	You
							 | 
						|||
| 
								 | 
							
								2	0	Basics	Me
							 | 
						|||
| 
								 | 
							
								1	0	Introduction	NULL
							 | 
						|||
| 
								 | 
							
								4	1	Replication	NULL
							 | 
						|||
| 
								 | 
							
								3	1	Complex queries	You
							 | 
						|||
| 
								 | 
							
								2	1	Syntax	Me
							 | 
						|||
| 
								 | 
							
								1	1	Authors	NULL
							 | 
						|||
| 
								 | 
							
								4	2	Load balancing	NULL
							 | 
						|||
| 
								 | 
							
								3	2	Stored Procedures	You
							 | 
						|||
| 
								 | 
							
								2	2	Client	Me
							 | 
						|||
| 
								 | 
							
								1	2	Acknowledgements	NULL
							 | 
						|||
| 
								 | 
							
								4	3	High availability	NULL
							 | 
						|||
| 
								 | 
							
								3	3	Stored Functions	You
							 | 
						|||
| 
								 | 
							
								2	3	Server	Me
							 | 
						|||
| 
								 | 
							
								alter table table_24562 order by 12;
							 | 
						|||
| 
								 | 
							
								ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '12' at line 1
							 | 
						|||
| 
								 | 
							
								alter table table_24562 order by (section + 12);
							 | 
						|||
| 
								 | 
							
								ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(section + 12)' at line 1
							 | 
						|||
| 
								 | 
							
								alter table table_24562 order by length(title);
							 | 
						|||
| 
								 | 
							
								ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(title)' at line 1
							 | 
						|||
| 
								 | 
							
								alter table table_24562 order by (select 12 from dual);
							 | 
						|||
| 
								 | 
							
								ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(select 12 from dual)' at line 1
							 | 
						|||
| 
								 | 
							
								alter table table_24562 order by no_such_col;
							 | 
						|||
| 
								 | 
							
								ERROR 42S22: Unknown column 'no_such_col' in 'order clause'
							 | 
						|||
| 
								 | 
							
								drop table table_24562;
							 | 
						|||
| 
								 | 
							
								create table t1 (mycol int(10) not null);
							 | 
						|||
| 
								 | 
							
								alter table t1 alter column mycol set default 0;
							 | 
						|||
| 
								 | 
							
								desc t1;
							 | 
						|||
| 
								 | 
							
								Field	Type	Null	Key	Default	Extra
							 | 
						|||
| 
								 | 
							
								mycol	int(10)	NO		0	
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								create table t1(id int(8) primary key auto_increment) engine=heap;
							 | 
						|||
| 
								 | 
							
								insert into t1 values (null);
							 | 
						|||
| 
								 | 
							
								insert into t1 values (null);
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								id
							 | 
						|||
| 
								 | 
							
								1
							 | 
						|||
| 
								 | 
							
								2
							 | 
						|||
| 
								 | 
							
								alter table t1 auto_increment = 50;
							 | 
						|||
| 
								 | 
							
								alter table t1 engine = myisam;
							 | 
						|||
| 
								 | 
							
								insert into t1 values (null);
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								id
							 | 
						|||
| 
								 | 
							
								1
							 | 
						|||
| 
								 | 
							
								2
							 | 
						|||
| 
								 | 
							
								50
							 | 
						|||
| 
								 | 
							
								alter table t1 engine = heap;
							 | 
						|||
| 
								 | 
							
								insert into t1 values (null);
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								id
							 | 
						|||
| 
								 | 
							
								1
							 | 
						|||
| 
								 | 
							
								2
							 | 
						|||
| 
								 | 
							
								50
							 | 
						|||
| 
								 | 
							
								51
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								set @orig_sql_mode = @@sql_mode;
							 | 
						|||
| 
								 | 
							
								set sql_mode="no_zero_date";
							 | 
						|||
| 
								 | 
							
								create table t1(f1 int);
							 | 
						|||
| 
								 | 
							
								alter table t1 add column f2 datetime not null, add column f21 date not null;
							 | 
						|||
| 
								 | 
							
								insert into t1 values(1,'2000-01-01','2000-01-01');
							 | 
						|||
| 
								 | 
							
								alter table t1 add column f3 datetime not null;
							 | 
						|||
| 
								 | 
							
								ERROR 22007: Incorrect datetime value: '0000-00-00 00:00:00' for column 'f3' at row 1
							 | 
						|||
| 
								 | 
							
								alter table t1 add column f3 date not null;
							 | 
						|||
| 
								 | 
							
								ERROR 22007: Incorrect date value: '0000-00-00' for column 'f3' at row 1
							 | 
						|||
| 
								 | 
							
								alter table t1 add column f4 datetime not null default '2002-02-02',
							 | 
						|||
| 
								 | 
							
								add column f41 date not null;
							 | 
						|||
| 
								 | 
							
								ERROR 22007: Incorrect date value: '0000-00-00' for column 'f41' at row 1
							 | 
						|||
| 
								 | 
							
								alter table t1 add column f4 datetime not null default '2002-02-02',
							 | 
						|||
| 
								 | 
							
								add column f41 date not null default '2002-02-02';
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								f1	f2	f21	f4	f41
							 | 
						|||
| 
								 | 
							
								1	2000-01-01 00:00:00	2000-01-01	2002-02-02 00:00:00	2002-02-02
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								set sql_mode= @orig_sql_mode;
							 | 
						|||
| 
								 | 
							
								create table t1 (v varchar(32));
							 | 
						|||
| 
								 | 
							
								insert into t1 values ('def'),('abc'),('hij'),('3r4f');
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								v
							 | 
						|||
| 
								 | 
							
								def
							 | 
						|||
| 
								 | 
							
								abc
							 | 
						|||
| 
								 | 
							
								hij
							 | 
						|||
| 
								 | 
							
								3r4f
							 | 
						|||
| 
								 | 
							
								alter table t1 change v v2 varchar(32);
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								v2
							 | 
						|||
| 
								 | 
							
								def
							 | 
						|||
| 
								 | 
							
								abc
							 | 
						|||
| 
								 | 
							
								hij
							 | 
						|||
| 
								 | 
							
								3r4f
							 | 
						|||
| 
								 | 
							
								alter table t1 change v2 v varchar(64);
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								v
							 | 
						|||
| 
								 | 
							
								def
							 | 
						|||
| 
								 | 
							
								abc
							 | 
						|||
| 
								 | 
							
								hij
							 | 
						|||
| 
								 | 
							
								3r4f
							 | 
						|||
| 
								 | 
							
								update t1 set v = 'lmn' where v = 'hij';
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								v
							 | 
						|||
| 
								 | 
							
								def
							 | 
						|||
| 
								 | 
							
								abc
							 | 
						|||
| 
								 | 
							
								lmn
							 | 
						|||
| 
								 | 
							
								3r4f
							 | 
						|||
| 
								 | 
							
								alter table t1 add i int auto_increment not null primary key first;
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								i	v
							 | 
						|||
| 
								 | 
							
								1	def
							 | 
						|||
| 
								 | 
							
								2	abc
							 | 
						|||
| 
								 | 
							
								3	lmn
							 | 
						|||
| 
								 | 
							
								4	3r4f
							 | 
						|||
| 
								 | 
							
								update t1 set i=5 where i=3;
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								i	v
							 | 
						|||
| 
								 | 
							
								1	def
							 | 
						|||
| 
								 | 
							
								2	abc
							 | 
						|||
| 
								 | 
							
								5	lmn
							 | 
						|||
| 
								 | 
							
								4	3r4f
							 | 
						|||
| 
								 | 
							
								alter table t1 change i i bigint;
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								i	v
							 | 
						|||
| 
								 | 
							
								1	def
							 | 
						|||
| 
								 | 
							
								2	abc
							 | 
						|||
| 
								 | 
							
								5	lmn
							 | 
						|||
| 
								 | 
							
								4	3r4f
							 | 
						|||
| 
								 | 
							
								alter table t1 add unique key (i, v);
							 | 
						|||
| 
								 | 
							
								select * from t1 where i between 2 and 4 and v in ('def','3r4f','lmn');
							 | 
						|||
| 
								 | 
							
								i	v
							 | 
						|||
| 
								 | 
							
								4	3r4f
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (t varchar(255) default null, key t (t(80)))
							 | 
						|||
| 
								 | 
							
								engine=myisam default charset=latin1;
							 | 
						|||
| 
								 | 
							
								alter table t1 change t t text;
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (a varchar(500));
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 ADD b GEOMETRY NOT NULL, ADD SPATIAL INDEX(b);
							 | 
						|||
| 
								 | 
							
								SHOW CREATE TABLE t1;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t1	CREATE TABLE `t1` (
							 | 
						|||
| 
								 | 
							
								  `a` varchar(500) DEFAULT NULL,
							 | 
						|||
| 
								 | 
							
								  `b` geometry NOT NULL,
							 | 
						|||
| 
								 | 
							
								  SPATIAL KEY `b` (`b`)
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 ADD KEY(b(50));
							 | 
						|||
| 
								 | 
							
								SHOW CREATE TABLE t1;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t1	CREATE TABLE `t1` (
							 | 
						|||
| 
								 | 
							
								  `a` varchar(500) DEFAULT NULL,
							 | 
						|||
| 
								 | 
							
								  `b` geometry NOT NULL,
							 | 
						|||
| 
								 | 
							
								  SPATIAL KEY `b` (`b`),
							 | 
						|||
| 
								 | 
							
								  KEY `b_2` (`b`(50))
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 ADD c POINT;
							 | 
						|||
| 
								 | 
							
								SHOW CREATE TABLE t1;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t1	CREATE TABLE `t1` (
							 | 
						|||
| 
								 | 
							
								  `a` varchar(500) DEFAULT NULL,
							 | 
						|||
| 
								 | 
							
								  `b` geometry NOT NULL,
							 | 
						|||
| 
								 | 
							
								  `c` point DEFAULT NULL,
							 | 
						|||
| 
								 | 
							
								  SPATIAL KEY `b` (`b`),
							 | 
						|||
| 
								 | 
							
								  KEY `b_2` (`b`(50))
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t2 (a INT, KEY (a(20)));
							 | 
						|||
| 
								 | 
							
								ERROR HY000: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 ADD d INT;
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 ADD KEY (d(20));
							 | 
						|||
| 
								 | 
							
								ERROR HY000: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 ADD e GEOMETRY NOT NULL, ADD SPATIAL KEY (e(30));
							 | 
						|||
| 
								 | 
							
								ERROR HY000: Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (s CHAR(8) BINARY);
							 | 
						|||
| 
								 | 
							
								INSERT INTO t1 VALUES ('test');
							 | 
						|||
| 
								 | 
							
								SELECT LENGTH(s) FROM t1;
							 | 
						|||
| 
								 | 
							
								LENGTH(s)
							 | 
						|||
| 
								 | 
							
								4
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY s CHAR(10) BINARY;
							 | 
						|||
| 
								 | 
							
								SELECT LENGTH(s) FROM t1;
							 | 
						|||
| 
								 | 
							
								LENGTH(s)
							 | 
						|||
| 
								 | 
							
								4
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (s BINARY(8));
							 | 
						|||
| 
								 | 
							
								INSERT INTO t1 VALUES ('test');
							 | 
						|||
| 
								 | 
							
								SELECT LENGTH(s) FROM t1;
							 | 
						|||
| 
								 | 
							
								LENGTH(s)
							 | 
						|||
| 
								 | 
							
								8
							 | 
						|||
| 
								 | 
							
								SELECT HEX(s) FROM t1;
							 | 
						|||
| 
								 | 
							
								HEX(s)
							 | 
						|||
| 
								 | 
							
								7465737400000000
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY s BINARY(10);
							 | 
						|||
| 
								 | 
							
								SELECT HEX(s) FROM t1;
							 | 
						|||
| 
								 | 
							
								HEX(s)
							 | 
						|||
| 
								 | 
							
								74657374000000000000
							 | 
						|||
| 
								 | 
							
								SELECT LENGTH(s) FROM t1;
							 | 
						|||
| 
								 | 
							
								LENGTH(s)
							 | 
						|||
| 
								 | 
							
								10
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (v VARCHAR(3), b INT);
							 | 
						|||
| 
								 | 
							
								INSERT INTO t1 VALUES ('abc', 5);
							 | 
						|||
| 
								 | 
							
								SELECT * FROM t1;
							 | 
						|||
| 
								 | 
							
								v	b
							 | 
						|||
| 
								 | 
							
								abc	5
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN v VARCHAR(4);
							 | 
						|||
| 
								 | 
							
								SELECT * FROM t1;
							 | 
						|||
| 
								 | 
							
								v	b
							 | 
						|||
| 
								 | 
							
								abc	5
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (a tinytext character set latin1);
							 | 
						|||
| 
								 | 
							
								alter table t1 convert to character set utf8;
							 | 
						|||
| 
								 | 
							
								show create table t1;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t1	CREATE TABLE `t1` (
							 | 
						|||
| 
								 | 
							
								  `a` text
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=utf8
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (a mediumtext character set latin1);
							 | 
						|||
| 
								 | 
							
								alter table t1 convert to character set utf8;
							 | 
						|||
| 
								 | 
							
								show create table t1;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								t1	CREATE TABLE `t1` (
							 | 
						|||
| 
								 | 
							
								  `a` longtext
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=utf8
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								End of 5.0 tests
							 | 
						|||
| 
								 | 
							
								drop table if exists t1, t2, t3;
							 | 
						|||
| 
								 | 
							
								create table t1 (i int);
							 | 
						|||
| 
								 | 
							
								create table t3 (j int);
							 | 
						|||
| 
								 | 
							
								insert into t1 values ();
							 | 
						|||
| 
								 | 
							
								insert into t3 values ();
							 | 
						|||
| 
								 | 
							
								lock table t1 write, t3 read;
							 | 
						|||
| 
								 | 
							
								alter table t1 modify i int default 1;
							 | 
						|||
| 
								 | 
							
								insert into t1 values ();
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								i
							 | 
						|||
| 
								 | 
							
								NULL
							 | 
						|||
| 
								 | 
							
								1
							 | 
						|||
| 
								 | 
							
								alter table t1 change i c char(10) default "Two";
							 | 
						|||
| 
								 | 
							
								insert into t1 values ();
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								c
							 | 
						|||
| 
								 | 
							
								NULL
							 | 
						|||
| 
								 | 
							
								1
							 | 
						|||
| 
								 | 
							
								Two
							 | 
						|||
| 
								 | 
							
								alter table t1 modify c char(10) default "Three", rename to t2;
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								ERROR HY000: Table 't1' was not locked with LOCK TABLES
							 | 
						|||
| 
								 | 
							
								select * from t2;
							 | 
						|||
| 
								 | 
							
								ERROR HY000: Table 't2' was not locked with LOCK TABLES
							 | 
						|||
| 
								 | 
							
								select * from t3;
							 | 
						|||
| 
								 | 
							
								j
							 | 
						|||
| 
								 | 
							
								NULL
							 | 
						|||
| 
								 | 
							
								unlock tables;
							 | 
						|||
| 
								 | 
							
								insert into t2 values ();
							 | 
						|||
| 
								 | 
							
								select * from t2;
							 | 
						|||
| 
								 | 
							
								c
							 | 
						|||
| 
								 | 
							
								NULL
							 | 
						|||
| 
								 | 
							
								1
							 | 
						|||
| 
								 | 
							
								Two
							 | 
						|||
| 
								 | 
							
								Three
							 | 
						|||
| 
								 | 
							
								lock table t2 write, t3 read;
							 | 
						|||
| 
								 | 
							
								alter table t2 change c vc varchar(100) default "Four", rename to t1;
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								ERROR HY000: Table 't1' was not locked with LOCK TABLES
							 | 
						|||
| 
								 | 
							
								select * from t2;
							 | 
						|||
| 
								 | 
							
								ERROR HY000: Table 't2' was not locked with LOCK TABLES
							 | 
						|||
| 
								 | 
							
								select * from t3;
							 | 
						|||
| 
								 | 
							
								j
							 | 
						|||
| 
								 | 
							
								NULL
							 | 
						|||
| 
								 | 
							
								unlock tables;
							 | 
						|||
| 
								 | 
							
								insert into t1 values ();
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								vc
							 | 
						|||
| 
								 | 
							
								NULL
							 | 
						|||
| 
								 | 
							
								1
							 | 
						|||
| 
								 | 
							
								Two
							 | 
						|||
| 
								 | 
							
								Three
							 | 
						|||
| 
								 | 
							
								Four
							 | 
						|||
| 
								 | 
							
								drop tables t1, t3;
							 | 
						|||
| 
								 | 
							
								DROP TABLE IF EXISTS `t+1`, `t+2`;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE `t+1` (c1 INT);
							 | 
						|||
| 
								 | 
							
								ALTER TABLE  `t+1` RENAME `t+2`;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE `t+1` (c1 INT);
							 | 
						|||
| 
								 | 
							
								ALTER TABLE  `t+1` RENAME `t+2`;
							 | 
						|||
| 
								 | 
							
								ERROR 42S01: Table 't+2' already exists
							 | 
						|||
| 
								 | 
							
								DROP TABLE   `t+1`, `t+2`;
							 | 
						|||
| 
								 | 
							
								CREATE TEMPORARY TABLE `tt+1` (c1 INT);
							 | 
						|||
| 
								 | 
							
								ALTER TABLE  `tt+1` RENAME `tt+2`;
							 | 
						|||
| 
								 | 
							
								CREATE TEMPORARY TABLE `tt+1` (c1 INT);
							 | 
						|||
| 
								 | 
							
								ALTER TABLE  `tt+1` RENAME `tt+2`;
							 | 
						|||
| 
								 | 
							
								ERROR 42S01: Table 'tt+2' already exists
							 | 
						|||
| 
								 | 
							
								SHOW CREATE TABLE `tt+1`;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								tt+1	CREATE TEMPORARY TABLE `tt+1` (
							 | 
						|||
| 
								 | 
							
								  `c1` int(11) DEFAULT NULL
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1
							 | 
						|||
| 
								 | 
							
								SHOW CREATE TABLE `tt+2`;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								tt+2	CREATE TEMPORARY TABLE `tt+2` (
							 | 
						|||
| 
								 | 
							
								  `c1` int(11) DEFAULT NULL
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1
							 | 
						|||
| 
								 | 
							
								DROP TABLE   `tt+1`, `tt+2`;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE `#sql1` (c1 INT);
							 | 
						|||
| 
								 | 
							
								CREATE TABLE `@0023sql2` (c1 INT);
							 | 
						|||
| 
								 | 
							
								SHOW TABLES;
							 | 
						|||
| 
								 | 
							
								Tables_in_test
							 | 
						|||
| 
								 | 
							
								#sql1
							 | 
						|||
| 
								 | 
							
								@0023sql2
							 | 
						|||
| 
								 | 
							
								RENAME TABLE `#sql1`     TO `@0023sql1`;
							 | 
						|||
| 
								 | 
							
								RENAME TABLE `@0023sql2` TO `#sql2`;
							 | 
						|||
| 
								 | 
							
								SHOW TABLES;
							 | 
						|||
| 
								 | 
							
								Tables_in_test
							 | 
						|||
| 
								 | 
							
								#sql2
							 | 
						|||
| 
								 | 
							
								@0023sql1
							 | 
						|||
| 
								 | 
							
								ALTER TABLE `@0023sql1`  RENAME `#sql-1`;
							 | 
						|||
| 
								 | 
							
								ALTER TABLE `#sql2`      RENAME `@0023sql-2`;
							 | 
						|||
| 
								 | 
							
								SHOW TABLES;
							 | 
						|||
| 
								 | 
							
								Tables_in_test
							 | 
						|||
| 
								 | 
							
								#sql-1
							 | 
						|||
| 
								 | 
							
								@0023sql-2
							 | 
						|||
| 
								 | 
							
								INSERT INTO `#sql-1`     VALUES (1);
							 | 
						|||
| 
								 | 
							
								INSERT INTO `@0023sql-2` VALUES (2);
							 | 
						|||
| 
								 | 
							
								DROP TABLE `#sql-1`, `@0023sql-2`;
							 | 
						|||
| 
								 | 
							
								CREATE TEMPORARY TABLE `#sql1` (c1 INT);
							 | 
						|||
| 
								 | 
							
								CREATE TEMPORARY TABLE `@0023sql2` (c1 INT);
							 | 
						|||
| 
								 | 
							
								SHOW TABLES;
							 | 
						|||
| 
								 | 
							
								Tables_in_test
							 | 
						|||
| 
								 | 
							
								ALTER TABLE `#sql1`      RENAME `@0023sql1`;
							 | 
						|||
| 
								 | 
							
								ALTER TABLE `@0023sql2`  RENAME `#sql2`;
							 | 
						|||
| 
								 | 
							
								SHOW TABLES;
							 | 
						|||
| 
								 | 
							
								Tables_in_test
							 | 
						|||
| 
								 | 
							
								INSERT INTO `#sql2`      VALUES (1);
							 | 
						|||
| 
								 | 
							
								INSERT INTO `@0023sql1`  VALUES (2);
							 | 
						|||
| 
								 | 
							
								SHOW CREATE TABLE `#sql2`;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								#sql2	CREATE TEMPORARY TABLE `#sql2` (
							 | 
						|||
| 
								 | 
							
								  `c1` int(11) DEFAULT NULL
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1
							 | 
						|||
| 
								 | 
							
								SHOW CREATE TABLE `@0023sql1`;
							 | 
						|||
| 
								 | 
							
								Table	Create Table
							 | 
						|||
| 
								 | 
							
								@0023sql1	CREATE TEMPORARY TABLE `@0023sql1` (
							 | 
						|||
| 
								 | 
							
								  `c1` int(11) DEFAULT NULL
							 | 
						|||
| 
								 | 
							
								) ENGINE=MyISAM DEFAULT CHARSET=latin1
							 | 
						|||
| 
								 | 
							
								DROP TABLE `#sql2`, `@0023sql1`;
							 | 
						|||
| 
								 | 
							
								DROP TABLE IF EXISTS t1;
							 | 
						|||
| 
								 | 
							
								DROP TABLE IF EXISTS t2;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (
							 | 
						|||
| 
								 | 
							
								int_field INTEGER UNSIGNED NOT NULL,
							 | 
						|||
| 
								 | 
							
								char_field CHAR(10),
							 | 
						|||
| 
								 | 
							
								INDEX(`int_field`)
							 | 
						|||
| 
								 | 
							
								);
							 | 
						|||
| 
								 | 
							
								DESCRIBE t1;
							 | 
						|||
| 
								 | 
							
								Field	Type	Null	Key	Default	Extra
							 | 
						|||
| 
								 | 
							
								int_field	int(10) unsigned	NO	MUL	NULL	
							 | 
						|||
| 
								 | 
							
								char_field	char(10)	YES		NULL	
							 | 
						|||
| 
								 | 
							
								SHOW INDEXES FROM t1;
							 | 
						|||
| 
								 | 
							
								Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
							 | 
						|||
| 
								 | 
							
								t1	1	int_field	1	int_field	A	NULL	NULL	NULL		BTREE	
							 | 
						|||
| 
								 | 
							
								INSERT INTO t1 VALUES (1, "edno"), (1, "edno"), (2, "dve"), (3, "tri"), (5, "pet");
							 | 
						|||
| 
								 | 
							
								"Non-copy data change - new frm, but old data and index files"
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1
							 | 
						|||
| 
								 | 
							
								CHANGE int_field unsigned_int_field INTEGER UNSIGNED NOT NULL,
							 | 
						|||
| 
								 | 
							
								RENAME t2;
							 | 
						|||
| 
								 | 
							
								SELECT * FROM t1 ORDER BY int_field;
							 | 
						|||
| 
								 | 
							
								ERROR 42S02: Table 'test.t1' doesn't exist
							 | 
						|||
| 
								 | 
							
								SELECT * FROM t2 ORDER BY unsigned_int_field;
							 | 
						|||
| 
								 | 
							
								unsigned_int_field	char_field
							 | 
						|||
| 
								 | 
							
								1	edno
							 | 
						|||
| 
								 | 
							
								1	edno
							 | 
						|||
| 
								 | 
							
								2	dve
							 | 
						|||
| 
								 | 
							
								3	tri
							 | 
						|||
| 
								 | 
							
								5	pet
							 | 
						|||
| 
								 | 
							
								DESCRIBE t2;
							 | 
						|||
| 
								 | 
							
								Field	Type	Null	Key	Default	Extra
							 | 
						|||
| 
								 | 
							
								unsigned_int_field	int(10) unsigned	NO	MUL	NULL	
							 | 
						|||
| 
								 | 
							
								char_field	char(10)	YES		NULL	
							 | 
						|||
| 
								 | 
							
								DESCRIBE t2;
							 | 
						|||
| 
								 | 
							
								Field	Type	Null	Key	Default	Extra
							 | 
						|||
| 
								 | 
							
								unsigned_int_field	int(10) unsigned	NO	MUL	NULL	
							 | 
						|||
| 
								 | 
							
								char_field	char(10)	YES		NULL	
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t2 MODIFY unsigned_int_field BIGINT UNSIGNED NOT NULL;
							 | 
						|||
| 
								 | 
							
								DESCRIBE t2;
							 | 
						|||
| 
								 | 
							
								Field	Type	Null	Key	Default	Extra
							 | 
						|||
| 
								 | 
							
								unsigned_int_field	bigint(20) unsigned	NO	MUL	NULL	
							 | 
						|||
| 
								 | 
							
								char_field	char(10)	YES		NULL	
							 | 
						|||
| 
								 | 
							
								DROP TABLE t2;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (f1 INT, f2 INT, f3 INT);
							 | 
						|||
| 
								 | 
							
								INSERT INTO t1 VALUES (1, 2, NULL);
							 | 
						|||
| 
								 | 
							
								SELECT * FROM t1;
							 | 
						|||
| 
								 | 
							
								f1	f2	f3
							 | 
						|||
| 
								 | 
							
								1	2	NULL
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN f3 INT AFTER f1;
							 | 
						|||
| 
								 | 
							
								SELECT * FROM t1;
							 | 
						|||
| 
								 | 
							
								f1	f3	f2
							 | 
						|||
| 
								 | 
							
								1	NULL	2
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN f3 INT AFTER f2;
							 | 
						|||
| 
								 | 
							
								SELECT * FROM t1;
							 | 
						|||
| 
								 | 
							
								f1	f2	f3
							 | 
						|||
| 
								 | 
							
								1	2	NULL
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								create table t1 (c char(10) default "Two");
							 | 
						|||
| 
								 | 
							
								lock table t1 write;
							 | 
						|||
| 
								 | 
							
								insert into t1 values ();
							 | 
						|||
| 
								 | 
							
								alter table t1 modify c char(10) default "Three";
							 | 
						|||
| 
								 | 
							
								unlock tables;
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								c
							 | 
						|||
| 
								 | 
							
								Two
							 | 
						|||
| 
								 | 
							
								check table t1;
							 | 
						|||
| 
								 | 
							
								Table	Op	Msg_type	Msg_text
							 | 
						|||
| 
								 | 
							
								test.t1	check	status	OK
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								DROP TABLE IF EXISTS t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (id int, c int) character set latin1;
							 | 
						|||
| 
								 | 
							
								INSERT INTO t1 VALUES (1,1);
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 CHANGE c d int;
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 CHANGE d c int;
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY c VARCHAR(10);
							 | 
						|||
| 
								 | 
							
								affected rows: 1
							 | 
						|||
| 
								 | 
							
								info: Records: 1  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 CHANGE c d varchar(10);
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 CHANGE d c varchar(10);
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								DROP TABLE IF EXISTS t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (id int, c int) character set utf8;
							 | 
						|||
| 
								 | 
							
								INSERT INTO t1 VALUES (1,1);
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 CHANGE c d int;
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 CHANGE d c int;
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY c VARCHAR(10);
							 | 
						|||
| 
								 | 
							
								affected rows: 1
							 | 
						|||
| 
								 | 
							
								info: Records: 1  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 CHANGE c d varchar(10);
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 CHANGE d c varchar(10);
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								create table t1(f1 int not null, f2 int not null, key  (f1), key (f2));
							 | 
						|||
| 
								 | 
							
								select index_length into @unpaked_keys_size from
							 | 
						|||
| 
								 | 
							
								information_schema.tables where table_name='t1';
							 | 
						|||
| 
								 | 
							
								alter table t1 pack_keys=1;
							 | 
						|||
| 
								 | 
							
								select index_length into @paked_keys_size from
							 | 
						|||
| 
								 | 
							
								information_schema.tables where table_name='t1';
							 | 
						|||
| 
								 | 
							
								select (@unpaked_keys_size > @paked_keys_size);
							 | 
						|||
| 
								 | 
							
								(@unpaked_keys_size > @paked_keys_size)
							 | 
						|||
| 
								 | 
							
								1
							 | 
						|||
| 
								 | 
							
								select max_data_length into @orig_max_data_length from
							 | 
						|||
| 
								 | 
							
								information_schema.tables where table_name='t1';
							 | 
						|||
| 
								 | 
							
								alter table t1 max_rows=100;
							 | 
						|||
| 
								 | 
							
								select max_data_length into @changed_max_data_length from
							 | 
						|||
| 
								 | 
							
								information_schema.tables where table_name='t1';
							 | 
						|||
| 
								 | 
							
								select (@orig_max_data_length > @changed_max_data_length);
							 | 
						|||
| 
								 | 
							
								(@orig_max_data_length > @changed_max_data_length)
							 | 
						|||
| 
								 | 
							
								1
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1(a INT AUTO_INCREMENT PRIMARY KEY, 
							 | 
						|||
| 
								 | 
							
								b ENUM('a', 'b', 'c') NOT NULL);
							 | 
						|||
| 
								 | 
							
								INSERT INTO t1 (b) VALUES ('a'), ('c'), ('b'), ('b'), ('a');
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY b ENUM('a', 'z', 'b', 'c') NOT NULL;
							 | 
						|||
| 
								 | 
							
								SELECT * FROM t1;
							 | 
						|||
| 
								 | 
							
								a	b
							 | 
						|||
| 
								 | 
							
								1	a
							 | 
						|||
| 
								 | 
							
								2	c
							 | 
						|||
| 
								 | 
							
								3	b
							 | 
						|||
| 
								 | 
							
								4	b
							 | 
						|||
| 
								 | 
							
								5	a
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# Bug#45567: Fast ALTER TABLE broken for enum and set
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								DROP TABLE IF EXISTS t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (a ENUM('a1','a2'));
							 | 
						|||
| 
								 | 
							
								INSERT INTO t1 VALUES ('a1'),('a2');
							 | 
						|||
| 
								 | 
							
								# No copy: No modification
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN a ENUM('a1','a2');
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								# No copy: Add new enumeration to the end
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN a ENUM('a1','a2','a3');
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								# Copy: Modify and add new to the end
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN a ENUM('a1','a2','xx','a5');
							 | 
						|||
| 
								 | 
							
								affected rows: 2
							 | 
						|||
| 
								 | 
							
								info: Records: 2  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								# Copy: Remove from the end
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN a ENUM('a1','a2','xx');
							 | 
						|||
| 
								 | 
							
								affected rows: 2
							 | 
						|||
| 
								 | 
							
								info: Records: 2  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								# Copy: Add new enumeration
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN a ENUM('a1','a2','a0','xx');
							 | 
						|||
| 
								 | 
							
								affected rows: 2
							 | 
						|||
| 
								 | 
							
								info: Records: 2  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								# No copy: Add new enumerations to the end
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN a ENUM('a1','a2','a0','xx','a5','a6');
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (a SET('a1','a2'));
							 | 
						|||
| 
								 | 
							
								INSERT INTO t1 VALUES ('a1'),('a2');
							 | 
						|||
| 
								 | 
							
								# No copy: No modification
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2');
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								# No copy: Add new to the end
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a3');
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								# Copy: Modify and add new to the end
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','xx','a5');
							 | 
						|||
| 
								 | 
							
								affected rows: 2
							 | 
						|||
| 
								 | 
							
								info: Records: 2  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								# Copy: Remove from the end
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','xx');
							 | 
						|||
| 
								 | 
							
								affected rows: 2
							 | 
						|||
| 
								 | 
							
								info: Records: 2  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								# Copy: Add new member
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a0','xx');
							 | 
						|||
| 
								 | 
							
								affected rows: 2
							 | 
						|||
| 
								 | 
							
								info: Records: 2  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								# No copy: Add new to the end
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a0','xx','a5','a6');
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								# Copy: Numerical incrase (pack lenght)
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 MODIFY COLUMN a SET('a1','a2','a0','xx','a5','a6','a7','a8','a9','a10');
							 | 
						|||
| 
								 | 
							
								affected rows: 2
							 | 
						|||
| 
								 | 
							
								info: Records: 2  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (f1 TIMESTAMP NULL DEFAULT NULL,
							 | 
						|||
| 
								 | 
							
								f2 INT(11) DEFAULT NULL) ENGINE=MYISAM DEFAULT CHARSET=utf8;
							 | 
						|||
| 
								 | 
							
								INSERT INTO t1 VALUES (NULL, NULL), ("2009-10-09 11:46:19", 2);
							 | 
						|||
| 
								 | 
							
								this should affect no rows as there is no real change
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 CHANGE COLUMN f1 f1_no_real_change TIMESTAMP NULL DEFAULT NULL;
							 | 
						|||
| 
								 | 
							
								affected rows: 0
							 | 
						|||
| 
								 | 
							
								info: Records: 0  Duplicates: 0  Warnings: 0
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# Bug #31145: ALTER TABLE DROP COLUMN, ADD COLUMN crashes (linux) 
							 | 
						|||
| 
								 | 
							
								#   or freezes (win) the server
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								CREATE TABLE t1 (a TEXT, id INT, b INT);
							 | 
						|||
| 
								 | 
							
								ALTER TABLE t1 DROP COLUMN a, ADD COLUMN c TEXT FIRST;
							 | 
						|||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# Test for bug #12652385 - "61493: REORDERING COLUMNS TO POSITION
							 | 
						|||
| 
								 | 
							
								#                           FIRST CAN CAUSE DATA TO BE CORRUPTED".
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								drop table if exists t1;
							 | 
						|||
| 
								 | 
							
								# Use MyISAM engine as the fact that InnoDB doesn't support
							 | 
						|||
| 
								 | 
							
								# in-place ALTER TABLE in cases when columns are being renamed
							 | 
						|||
| 
								 | 
							
								# hides some bugs.
							 | 
						|||
| 
								 | 
							
								create table t1 (i int, j int) engine=myisam;
							 | 
						|||
| 
								 | 
							
								insert into t1 value (1, 2);
							 | 
						|||
| 
								 | 
							
								# First, test for original problem described in the bug report.
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								i	j
							 | 
						|||
| 
								 | 
							
								1	2
							 | 
						|||
| 
								 | 
							
								# Change of column order by the below ALTER TABLE statement should
							 | 
						|||
| 
								 | 
							
								# affect both column names and column contents.
							 | 
						|||
| 
								 | 
							
								alter table t1 modify column j int first;
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								j	i
							 | 
						|||
| 
								 | 
							
								2	1
							 | 
						|||
| 
								 | 
							
								# Now test for similar problem with the same root.
							 | 
						|||
| 
								 | 
							
								# The below ALTER TABLE should change not only the name but
							 | 
						|||
| 
								 | 
							
								# also the value for the last column of the table.
							 | 
						|||
| 
								 | 
							
								alter table t1 drop column i, add column k int default 0;
							 | 
						|||
| 
								 | 
							
								select * from t1;
							 | 
						|||
| 
								 | 
							
								j	k
							 | 
						|||
| 
								 | 
							
								2	0
							 | 
						|||
| 
								 | 
							
								# Clean-up.
							 | 
						|||
| 
								 | 
							
								drop table t1;
							 | 
						|||
| 
								 | 
							
								End of 5.1 tests
							 |