create table t1 ( a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2)) ) character set utf8 engine = innodb; create table t2 ( a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2)) ) character set ucs2 engine = innodb; insert into t1 values (1,'abcdefg','abcdefg','one'); insert into t1 values (2,'ijkilmn','ijkilmn','two'); insert into t1 values (3,'qrstuvw','qrstuvw','three'); insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); insert into t2 values (1,'abcdefg','abcdefg','one'); insert into t2 values (2,'ijkilmn','ijkilmn','two'); insert into t2 values (3,'qrstuvw','qrstuvw','three'); insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); update t1 set filler = 'boo' where a = 1; update t2 set filler ='email' where a = 4; select a,hex(b),hex(c),filler from t1 order by filler; a hex(b) hex(c) filler 1 61626364656667 61626364656667 boo 4 D0B1 D0B1 eight 4 5B 5B five 4 E880BD E880BD four 4 E880BDD0B1E880BD E880BDD0B1E880BD seven 4 E880BDE880BD E880BDE880BD six 3 71727374757677 71727374757677 three 2 696A6B696C6D6E 696A6B696C6D6E two select a,hex(b),hex(c),filler from t2 order by filler; a hex(b) hex(c) filler 4 05630563 05630563 email 4 0563 0563 email 4 05612020 05612020 email 4 01FC 01FC email 4 0120 0120 email 4 00640065 00640065 email 4 00E400E50068 00E400E50068 email 4 0000E400 0000E400 email 4 0000563001FC0563 0000563001FC0563 email 1 0061006200630064006500660067 0061006200630064006500660067 one 3 0071007200730074007500760077 0071007200730074007500760077 three 2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E two drop table t1; drop table t2; create table t1 ( a int, b varchar(10), c varchar(10), filler varchar(10), primary key(a, b(2)), unique key (a, c(2)) ) character set utf8 engine = innodb; create table t2 ( a int, b varchar(10), c varchar(10), filler varchar(10), primary key(a, b(2)), unique key (a, c(2)) ) character set ucs2 engine = innodb; insert into t1 values (1,'abcdefg','abcdefg','one'); insert into t1 values (2,'ijkilmn','ijkilmn','two'); insert into t1 values (3,'qrstuvw','qrstuvw','three'); insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); insert into t2 values (1,'abcdefg','abcdefg','one'); insert into t2 values (2,'ijkilmn','ijkilmn','two'); insert into t2 values (3,'qrstuvw','qrstuvw','three'); insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); update t1 set filler = 'boo' where a = 1; update t2 set filler ='email' where a = 4; select a,hex(b),hex(c),filler from t1 order by filler; a hex(b) hex(c) filler 1 61626364656667 61626364656667 boo 4 D0B1 D0B1 eight 4 5B 5B five 4 E880BD E880BD four 4 E880BDD0B1E880BD E880BDD0B1E880BD seven 4 E880BDE880BD E880BDE880BD six 3 71727374757677 71727374757677 three 2 696A6B696C6D6E 696A6B696C6D6E two select a,hex(b),hex(c),filler from t2 order by filler; a hex(b) hex(c) filler 4 05630563 05630563 email 4 0563 0563 email 4 05612020 05612020 email 4 01FC 01FC email 4 0120 0120 email 4 00640065 00640065 email 4 00E400E50068 00E400E50068 email 4 0000E400 0000E400 email 4 0000563001FC0563 0000563001FC0563 email 1 0061006200630064006500660067 0061006200630064006500660067 one 3 0071007200730074007500760077 0071007200730074007500760077 three 2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E two drop table t1; drop table t2; create table t1 ( a int, b text(10), c text(10), filler text(10), primary key(a, b(2)), unique key (a, c(2)) ) character set utf8 engine = innodb; create table t2 ( a int, b text(10), c text(10), filler text(10), primary key(a, b(2)), unique key (a, c(2)) ) character set ucs2 engine = innodb; insert into t1 values (1,'abcdefg','abcdefg','one'); insert into t1 values (2,'ijkilmn','ijkilmn','two'); insert into t1 values (3,'qrstuvw','qrstuvw','three'); insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); insert into t1 values (4,_utf8 0xe880bde880bd,_utf8 0xe880bde880bd,'six'); insert into t1 values (4,_utf8 0xe880bdD0B1e880bd,_utf8 0xe880bdD0B1e880bd,'seven'); insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); insert into t2 values (1,'abcdefg','abcdefg','one'); insert into t2 values (2,'ijkilmn','ijkilmn','two'); insert into t2 values (3,'qrstuvw','qrstuvw','three'); insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); insert into t2 values (4,_ucs2 0x05630563,_ucs2 0x05630563,'eleven'); insert into t2 values (4,_ucs2 0x0563001fc0563,_ucs2 0x0563001fc0563,'point'); insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); update t1 set filler = 'boo' where a = 1; update t2 set filler ='email' where a = 4; select a,hex(b),hex(c),filler from t1 order by filler; a hex(b) hex(c) filler 1 61626364656667 61626364656667 boo 4 D0B1 D0B1 eight 4 5B 5B five 4 E880BD E880BD four 4 E880BDD0B1E880BD E880BDD0B1E880BD seven 4 E880BDE880BD E880BDE880BD six 3 71727374757677 71727374757677 three 2 696A6B696C6D6E 696A6B696C6D6E two select a,hex(b),hex(c),filler from t2 order by filler; a hex(b) hex(c) filler 4 0120 0120 email 4 01FC 01FC email 4 0563 0563 email 4 0000563001FC0563 0000563001FC0563 email 4 0000E400 0000E400 email 4 00640065 00640065 email 4 00E400E50068 00E400E50068 email 4 05612020 05612020 email 4 05630563 05630563 email 1 0061006200630064006500660067 0061006200630064006500660067 one 3 0071007200730074007500760077 0071007200730074007500760077 three 2 0069006A006B0069006C006D006E 0069006A006B0069006C006D006E two drop table t1; drop table t2; create table t1 ( a int, b blob(10), c blob(10), filler blob(10), primary key(a, b(2)), unique key (a, c(2)) ) character set utf8 engine = innodb; create table t2 ( a int, b blob(10), c blob(10), filler blob(10), primary key(a, b(2)), unique key (a, c(2)) ) character set ucs2 engine = innodb; insert into t1 values (1,'abcdefg','abcdefg','one'); insert into t1 values (2,'ijkilmn','ijkilmn','two'); insert into t1 values (3,'qrstuvw','qrstuvw','three'); insert into t1 values (4,_utf8 0xe880bd,_utf8 0xe880bd,'four'); insert into t1 values (4,_utf8 0x5b,_utf8 0x5b,'five'); insert into t1 values (4,_utf8 0xD0B1,_utf8 0xD0B1,'eight'); insert into t2 values (1,'abcdefg','abcdefg','one'); insert into t2 values (2,'ijkilmn','ijkilmn','two'); insert into t2 values (3,'qrstuvw','qrstuvw','three'); insert into t2 values (4,_ucs2 0x00e400,_ucs2 0x00e400,'four'); insert into t2 values (4,_ucs2 0x00640065,_ucs2 0x00640065,'five'); insert into t2 values (4,_ucs2 0x00e400e50068,_ucs2 0x00e400e50068,'six'); insert into t2 values (4,_ucs2 0x01fc,_ucs2 0x01fc,'seven'); insert into t2 values (4,_ucs2 0x0120,_ucs2 0x0120,'eight'); insert into t2 values (4,_ucs2 0x0563,_ucs2 0x0563,'ten'); insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); update t1 set filler = 'boo' where a = 1; update t2 set filler ='email' where a = 4; select a,hex(b),hex(c),filler from t1 order by filler; a hex(b) hex(c) filler 1 61626364656667 61626364656667 boo 4 D0B1 D0B1 eight 4 5B 5B five 4 E880BD E880BD four 3 71727374757677 71727374757677 three 2 696A6B696C6D6E 696A6B696C6D6E two select a,hex(b),hex(c),filler from t2 order by filler; a hex(b) hex(c) filler 4 0000E400 0000E400 email 4 00640065 00640065 email 4 00E400E50068 00E400E50068 email 4 0120 0120 email 4 01FC 01FC email 4 05612020 05612020 email 4 0563 0563 email 1 61626364656667 61626364656667 one 3 71727374757677 71727374757677 three 2 696A6B696C6D6E 696A6B696C6D6E two drop table t1; drop table t2; commit; CREATE TABLE t1 ( ind enum('0','1','2') NOT NULL default '0', string1 varchar(250) NOT NULL, PRIMARY KEY (ind) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE t2 ( ind enum('0','1','2') NOT NULL default '0', string1 varchar(250) NOT NULL, PRIMARY KEY (ind) ) ENGINE=InnoDB DEFAULT CHARSET=ucs2; INSERT INTO t1 VALUES ('1', ''),('2', ''); INSERT INTO t2 VALUES ('1', ''),('2', ''); SELECT hex(ind),hex(string1) FROM t1 ORDER BY string1; hex(ind) hex(string1) 31 32 SELECT hex(ind),hex(string1) FROM t2 ORDER BY string1; hex(ind) hex(string1) 0031 0032 drop table t1,t2; CREATE TABLE t1 ( ind set('0','1','2') NOT NULL default '0', string1 varchar(250) NOT NULL, PRIMARY KEY (ind) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE t2 ( ind set('0','1','2') NOT NULL default '0', string1 varchar(250) NOT NULL, PRIMARY KEY (ind) ) ENGINE=InnoDB DEFAULT CHARSET=ucs2; INSERT INTO t1 VALUES ('1', ''),('2', ''); INSERT INTO t2 VALUES ('1', ''),('2', ''); SELECT hex(ind),hex(string1) FROM t1 ORDER BY string1; hex(ind) hex(string1) 31 32 SELECT hex(ind),hex(string1) FROM t2 ORDER BY string1; hex(ind) hex(string1) 0031 0032 drop table t1,t2; CREATE TABLE t1 ( ind bit not null, string1 varchar(250) NOT NULL, PRIMARY KEY (ind) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE t2 ( ind bit not null, string1 varchar(250) NOT NULL, PRIMARY KEY (ind) ) ENGINE=InnoDB DEFAULT CHARSET=ucs2; insert into t1 values(0,''),(1,''); insert into t2 values(0,''),(1,''); select hex(ind),hex(string1) from t1 order by string1; hex(ind) hex(string1) 0 1 select hex(ind),hex(string1) from t2 order by string1; hex(ind) hex(string1) 0 1 drop table t1,t2; create table t2 ( a int, b char(10), filler char(10), primary key(a, b(2)) ) character set utf8 engine = innodb; insert into t2 values (1,'abcdefg','one'); insert into t2 values (2,'ijkilmn','two'); insert into t2 values (3, 'qrstuvw','three'); update t2 set a=5, filler='booo' where a=1; drop table t2; create table t2 ( a int, b char(10), filler char(10), primary key(a, b(2)) ) character set ucs2 engine = innodb; insert into t2 values (1,'abcdefg','one'); insert into t2 values (2,'ijkilmn','two'); insert into t2 values (3, 'qrstuvw','three'); update t2 set a=5, filler='booo' where a=1; drop table t2; create table t1(a int not null, b char(110),primary key(a,b(100))) engine=innodb default charset=utf8; insert into t1 values(1,'abcdefg'),(2,'defghijk'); insert into t1 values(6,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1); insert into t1 values(7,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2); select a,hex(b) from t1 order by b; a hex(b) 1 61626364656667 2 6465666768696A6B 6 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1 7 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2 update t1 set b = 'three' where a = 6; drop table t1; create table t1(a int not null, b text(110),primary key(a,b(100))) engine=innodb default charset=utf8; insert into t1 values(1,'abcdefg'),(2,'defghijk'); insert into t1 values(6,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1); insert into t1 values(7,_utf8 0xD0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2); select a,hex(b) from t1 order by b; a hex(b) 1 61626364656667 2 6465666768696A6B 6 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1 7 D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B1D0B2 update t1 set b = 'three' where a = 6; drop table t1; End of 5.0 tests