1
drop table if exists t1,t2;
6
select left(_utf8mb4 0xD0B0D0B1D0B2,1);
7
left(_utf8mb4 0xD0B0D0B1D0B2,1)
9
select right(_utf8mb4 0xD0B0D0B2D0B2,1);
10
right(_utf8mb4 0xD0B0D0B2D0B2,1)
12
select locate('he','hello');
15
select locate('he','hello',2);
16
locate('he','hello',2)
18
select locate('lo','hello',2);
19
locate('lo','hello',2)
21
select locate('HE','hello');
24
select locate('HE','hello',2);
25
locate('HE','hello',2)
27
select locate('LO','hello',2);
28
locate('LO','hello',2)
30
select locate('HE','hello' collate utf8mb4_bin);
31
locate('HE','hello' collate utf8mb4_bin)
33
select locate('HE','hello' collate utf8mb4_bin,2);
34
locate('HE','hello' collate utf8mb4_bin,2)
36
select locate('LO','hello' collate utf8mb4_bin,2);
37
locate('LO','hello' collate utf8mb4_bin,2)
39
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2);
40
locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2)
42
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2);
43
locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2)
45
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2);
46
locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2)
48
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin);
49
locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin)
51
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin);
52
locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin)
54
select length(_utf8mb4 0xD0B1), bit_length(_utf8mb4 0xD0B1), char_length(_utf8mb4 0xD0B1);
55
length(_utf8mb4 0xD0B1) bit_length(_utf8mb4 0xD0B1) char_length(_utf8mb4 0xD0B1)
63
select 'A' like 'a' collate utf8mb4_bin;
64
'A' like 'a' collate utf8mb4_bin
66
select _utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%');
67
_utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%')
69
select convert(_latin1'G�nter Andr�' using utf8mb4) like CONVERT(_latin1'G�NTER%' USING utf8mb4);
70
convert(_latin1'G?nter Andr?' using utf8mb4) like CONVERT(_latin1'G?NTER%' USING utf8mb4)
72
select CONVERT(_koi8r'����' USING utf8mb4) LIKE CONVERT(_koi8r'����' USING utf8mb4);
73
CONVERT(_koi8r'????' USING utf8mb4) LIKE CONVERT(_koi8r'????' USING utf8mb4)
75
select CONVERT(_koi8r'����' USING utf8mb4) LIKE CONVERT(_koi8r'����' USING utf8mb4);
76
CONVERT(_koi8r'????' USING utf8mb4) LIKE CONVERT(_koi8r'????' USING utf8mb4)
93
SELECT 'a' = 'a ' collate utf8mb4_bin;
94
'a' = 'a ' collate utf8mb4_bin
96
SELECT 'a\0' < 'a' collate utf8mb4_bin;
97
'a\0' < 'a' collate utf8mb4_bin
99
SELECT 'a\0' < 'a ' collate utf8mb4_bin;
100
'a\0' < 'a ' collate utf8mb4_bin
102
SELECT 'a\t' < 'a' collate utf8mb4_bin;
103
'a\t' < 'a' collate utf8mb4_bin
105
SELECT 'a\t' < 'a ' collate utf8mb4_bin;
106
'a\t' < 'a ' collate utf8mb4_bin
108
CREATE TABLE t1 (a char(10) character set utf8mb4 not null);
109
INSERT INTO t1 VALUES ('a'),('a\0'),('a\t'),('a ');
110
SELECT hex(a),STRCMP(a,'a'), STRCMP(a,'a ') FROM t1;
111
hex(a) STRCMP(a,'a') STRCMP(a,'a ')
117
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
118
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
120
select insert("aa",100,1,"b"),insert("aa",1,3,"b");
121
insert("aa",100,1,"b") insert("aa",1,3,"b")
123
select char_length(left(@a:='тест',5)), length(@a), @a;
124
char_length(left(@a:='тест',5)) length(@a) @a
126
create table t1 select date_format("2004-01-19 10:10:10", "%Y-%m-%d");
127
show create table t1;
129
t1 CREATE TABLE `t1` (
130
`date_format("2004-01-19 10:10:10", "%Y-%m-%d")` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
131
) ENGINE=MyISAM DEFAULT CHARSET=latin1
133
date_format("2004-01-19 10:10:10", "%Y-%m-%d")
137
set LC_TIME_NAMES='fr_FR';
138
create table t1 (s1 char(20) character set latin1);
139
insert into t1 values (date_format('2004-02-02','%M'));
140
select hex(s1) from t1;
144
create table t1 (s1 char(20) character set koi8r);
145
set LC_TIME_NAMES='ru_RU';
146
insert into t1 values (date_format('2004-02-02','%M'));
147
insert into t1 values (date_format('2004-02-02','%b'));
148
insert into t1 values (date_format('2004-02-02','%W'));
149
insert into t1 values (date_format('2004-02-02','%a'));
150
select hex(s1), s1 from t1;
152
E6C5D7D2C1CCD1 Февраля
154
F0CFCEC5C4C5CCD8CEC9CB Понедельник
157
set LC_TIME_NAMES='en_US';
159
create table t1 (s1 char(1) character set utf8mb4);
160
insert into t1 values (_koi8r'��');
162
Warning 1265 Data truncated for column 's1' at row 1
163
select s1,hex(s1),char_length(s1),octet_length(s1) from t1;
164
s1 hex(s1) char_length(s1) octet_length(s1)
167
create table t1 (s1 tinytext character set utf8mb4);
168
insert into t1 select repeat('a',300);
170
Warning 1265 Data truncated for column 's1' at row 1
171
insert into t1 select repeat('�',300);
173
Warning 1265 Data truncated for column 's1' at row 1
174
insert into t1 select repeat('a�',300);
176
Warning 1265 Data truncated for column 's1' at row 1
177
insert into t1 select repeat('�a',300);
179
Warning 1265 Data truncated for column 's1' at row 1
180
insert into t1 select repeat('��',300);
182
Warning 1265 Data truncated for column 's1' at row 1
183
select hex(s1) from t1;
185
616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161
186
D18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18F
187
61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F
188
D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61D18F61
189
D18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18FD18F
190
select length(s1),char_length(s1) from t1;
191
length(s1) char_length(s1)
198
create table t1 (s1 text character set utf8mb4);
199
insert into t1 select repeat('a',66000);
201
Warning 1265 Data truncated for column 's1' at row 1
202
insert into t1 select repeat('�',66000);
204
Warning 1265 Data truncated for column 's1' at row 1
205
insert into t1 select repeat('a�',66000);
207
Warning 1265 Data truncated for column 's1' at row 1
208
insert into t1 select repeat('�a',66000);
210
Warning 1265 Data truncated for column 's1' at row 1
211
insert into t1 select repeat('��',66000);
213
Warning 1265 Data truncated for column 's1' at row 1
214
select length(s1),char_length(s1) from t1;
215
length(s1) char_length(s1)
222
create table t1 (s1 char(10) character set utf8mb4);
223
insert into t1 values (0x41FF);
225
Warning 1366 Incorrect string value: '\xFF' for column 's1' at row 1
226
select hex(s1) from t1;
230
create table t1 (s1 varchar(10) character set utf8mb4);
231
insert into t1 values (0x41FF);
233
Warning 1366 Incorrect string value: '\xFF' for column 's1' at row 1
234
select hex(s1) from t1;
238
create table t1 (s1 text character set utf8mb4);
239
insert into t1 values (0x41FF);
241
Warning 1366 Incorrect string value: '\xFF' for column 's1' at row 1
242
select hex(s1) from t1;
246
create table t1 (a text character set utf8mb4, primary key(a(371)));
247
ERROR 42000: Specified key was too long; max key length is 1332 bytes
248
CREATE TABLE t1 ( a varchar(10) ) CHARACTER SET utf8mb4;
249
INSERT INTO t1 VALUES ( 'test' );
250
SELECT a.a, b.a FROM t1 a, t1 b WHERE a.a = b.a;
253
SELECT a.a, b.a FROM t1 a, t1 b WHERE a.a = 'test' and b.a = 'test';
256
SELECT a.a, b.a FROM t1 a, t1 b WHERE a.a = b.a and a.a = 'test';
260
create table t1 (a char(255) character set utf8mb4);
261
insert into t1 values('b'),('b');
262
select * from t1 where a = 'b';
266
select * from t1 where a = 'b' and a = 'b';
270
select * from t1 where a = 'b' and a != 'b';
273
set collation_connection=utf8mb4_general_ci;
274
drop table if exists t1;
276
select repeat(' ', 64) as s1, repeat(' ',64) as s2
279
show create table t1;
281
t1 CREATE TABLE `t1` (
282
`s1` varchar(64) CHARACTER SET utf8mb4 DEFAULT NULL,
283
`s2` varchar(64) CHARACTER SET utf8mb4 DEFAULT NULL
284
) ENGINE=MyISAM DEFAULT CHARSET=latin1
286
insert into t1 values('aaa','aaa');
287
insert into t1 values('aaa|qqq','qqq');
288
insert into t1 values('gheis','^[^a-dXYZ]+$');
289
insert into t1 values('aab','^aa?b');
290
insert into t1 values('Baaan','^Ba*n');
291
insert into t1 values('aaa','qqq|aaa');
292
insert into t1 values('qqq','qqq|aaa');
293
insert into t1 values('bbb','qqq|aaa');
294
insert into t1 values('bbb','qqq');
295
insert into t1 values('aaa','aba');
296
insert into t1 values(null,'abc');
297
insert into t1 values('def',null);
298
insert into t1 values(null,null);
299
insert into t1 values('ghi','ghi[');
300
select HIGH_PRIORITY s1 regexp s2 from t1;
319
select 'вася' rlike '[[:<:]]вася[[:>:]]';
320
'вася' rlike '[[:<:]]вася[[:>:]]'
322
select 'вася ' rlike '[[:<:]]вася[[:>:]]';
323
'вася ' rlike '[[:<:]]вася[[:>:]]'
325
select ' вася' rlike '[[:<:]]вася[[:>:]]';
326
' вася' rlike '[[:<:]]вася[[:>:]]'
328
select ' вася ' rlike '[[:<:]]вася[[:>:]]';
329
' вася ' rlike '[[:<:]]вася[[:>:]]'
331
select 'васяz' rlike '[[:<:]]вася[[:>:]]';
332
'васяz' rlike '[[:<:]]вася[[:>:]]'
334
select 'zвася' rlike '[[:<:]]вася[[:>:]]';
335
'zвася' rlike '[[:<:]]вася[[:>:]]'
337
select 'zвасяz' rlike '[[:<:]]вася[[:>:]]';
338
'zвасяz' rlike '[[:<:]]вася[[:>:]]'
340
CREATE TABLE t1 (a enum ('Y', 'N') DEFAULT 'N' COLLATE utf8mb4_unicode_ci);
341
ALTER TABLE t1 ADD COLUMN b CHAR(20);
344
create table t1 (a enum('aaaa','проба') character set utf8mb4);
345
show create table t1;
347
t1 CREATE TABLE `t1` (
348
`a` enum('aaaa','проба') CHARACTER SET utf8mb4 DEFAULT NULL
349
) ENGINE=MyISAM DEFAULT CHARSET=latin1
350
insert into t1 values ('проба');
354
create table t2 select ifnull(a,a) from t1;
355
show create table t2;
357
t2 CREATE TABLE `t2` (
358
`ifnull(a,a)` varchar(5) CHARACTER SET utf8mb4 DEFAULT NULL
359
) ENGINE=MyISAM DEFAULT CHARSET=latin1
365
create table t1 (c varchar(30) character set utf8mb4, unique(c(10)));
366
insert into t1 values ('1'),('2'),('3'),('x'),('y'),('z');
367
insert into t1 values ('aaaaaaaaaa');
368
insert into t1 values ('aaaaaaaaaaa');
369
ERROR 23000: Duplicate entry 'aaaaaaaaaa' for key 'c'
370
insert into t1 values ('aaaaaaaaaaaa');
371
ERROR 23000: Duplicate entry 'aaaaaaaaaa' for key 'c'
372
insert into t1 values (repeat('b',20));
373
select c c1 from t1 where c='1';
376
select c c2 from t1 where c='2';
379
select c c3 from t1 where c='3';
382
select c cx from t1 where c='x';
385
select c cy from t1 where c='y';
388
select c cz from t1 where c='z';
391
select c ca10 from t1 where c='aaaaaaaaaa';
394
select c cb20 from t1 where c=repeat('b',20);
398
create table t1 (c varchar(30) character set utf8mb4, unique(c(10))) engine=innodb;
399
insert into t1 values ('1'),('2'),('3'),('x'),('y'),('z');
400
insert into t1 values ('aaaaaaaaaa');
401
insert into t1 values ('aaaaaaaaaaa');
402
ERROR 23000: Duplicate entry 'aaaaaaaaaa' for key 'c'
403
insert into t1 values ('aaaaaaaaaaaa');
404
ERROR 23000: Duplicate entry 'aaaaaaaaaa' for key 'c'
405
insert into t1 values (repeat('b',20));
406
select c c1 from t1 where c='1';
409
select c c2 from t1 where c='2';
412
select c c3 from t1 where c='3';
415
select c cx from t1 where c='x';
418
select c cy from t1 where c='y';
421
select c cz from t1 where c='z';
424
select c ca10 from t1 where c='aaaaaaaaaa';
427
select c cb20 from t1 where c=repeat('b',20);
431
create table t1 (c char(3) character set utf8mb4, unique (c(2)));
432
insert into t1 values ('1'),('2'),('3'),('4'),('x'),('y'),('z');
433
insert into t1 values ('a');
434
insert into t1 values ('aa');
435
insert into t1 values ('aaa');
436
ERROR 23000: Duplicate entry 'aa' for key 'c'
437
insert into t1 values ('b');
438
insert into t1 values ('bb');
439
insert into t1 values ('bbb');
440
ERROR 23000: Duplicate entry 'bb' for key 'c'
441
insert into t1 values ('а');
442
insert into t1 values ('аа');
443
insert into t1 values ('ааа');
444
ERROR 23000: Duplicate entry 'аа' for key 'c'
445
insert into t1 values ('б');
446
insert into t1 values ('бб');
447
insert into t1 values ('ббб');
448
ERROR 23000: Duplicate entry 'бб' for key 'c'
449
insert into t1 values ('ꪪ');
450
insert into t1 values ('ꪪꪪ');
451
insert into t1 values ('ꪪꪪꪪ');
452
ERROR 23000: Duplicate entry 'ꪪꪪ' for key 'c'
454
create table t1 (c char(3) character set utf8mb4, unique (c(2))) engine=innodb;
455
insert into t1 values ('1'),('2'),('3'),('4'),('x'),('y'),('z');
456
insert into t1 values ('a');
457
insert into t1 values ('aa');
458
insert into t1 values ('aaa');
459
ERROR 23000: Duplicate entry 'aa' for key 'c'
460
insert into t1 values ('b');
461
insert into t1 values ('bb');
462
insert into t1 values ('bbb');
463
ERROR 23000: Duplicate entry 'bb' for key 'c'
464
insert into t1 values ('а');
465
insert into t1 values ('аа');
466
insert into t1 values ('ааа');
467
ERROR 23000: Duplicate entry 'аа' for key 'c'
468
insert into t1 values ('б');
469
insert into t1 values ('бб');
470
insert into t1 values ('ббб');
471
ERROR 23000: Duplicate entry 'бб' for key 'c'
472
insert into t1 values ('ꪪ');
473
insert into t1 values ('ꪪꪪ');
474
insert into t1 values ('ꪪꪪꪪ');
475
ERROR 23000: Duplicate entry 'ꪪꪪ' for key 'c'
478
c char(10) character set utf8mb4,
479
unique key a using hash (c(1))
481
show create table t1;
483
t1 CREATE TABLE `t1` (
484
`c` char(10) CHARACTER SET utf8mb4 DEFAULT NULL,
485
UNIQUE KEY `a` (`c`(1)) USING HASH
486
) ENGINE=MEMORY DEFAULT CHARSET=latin1
487
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
488
insert into t1 values ('aa');
489
ERROR 23000: Duplicate entry 'a' for key 'a'
490
insert into t1 values ('aaa');
491
ERROR 23000: Duplicate entry 'a' for key 'a'
492
insert into t1 values ('б');
493
insert into t1 values ('бб');
494
ERROR 23000: Duplicate entry 'б' for key 'a'
495
insert into t1 values ('ббб');
496
ERROR 23000: Duplicate entry 'б' for key 'a'
497
select c as c_all from t1 order by c;
506
select c as c_a from t1 where c='a';
509
select c as c_a from t1 where c='б';
514
c char(10) character set utf8mb4,
515
unique key a using btree (c(1))
517
show create table t1;
519
t1 CREATE TABLE `t1` (
520
`c` char(10) CHARACTER SET utf8mb4 DEFAULT NULL,
521
UNIQUE KEY `a` (`c`(1)) USING BTREE
522
) ENGINE=MEMORY DEFAULT CHARSET=latin1
523
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
524
insert into t1 values ('aa');
525
ERROR 23000: Duplicate entry 'a' for key 'a'
526
insert into t1 values ('aaa');
527
ERROR 23000: Duplicate entry 'a' for key 'a'
528
insert into t1 values ('б');
529
insert into t1 values ('бб');
530
ERROR 23000: Duplicate entry 'б' for key 'a'
531
insert into t1 values ('ббб');
532
ERROR 23000: Duplicate entry 'б' for key 'a'
533
select c as c_all from t1 order by c;
542
select c as c_a from t1 where c='a';
545
select c as c_a from t1 where c='б';
550
c char(10) character set utf8mb4,
553
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
554
insert into t1 values ('aa');
555
ERROR 23000: Duplicate entry 'a' for key 'a'
556
insert into t1 values ('aaa');
557
ERROR 23000: Duplicate entry 'a' for key 'a'
558
insert into t1 values ('б');
559
insert into t1 values ('бб');
560
ERROR 23000: Duplicate entry 'б' for key 'a'
561
insert into t1 values ('ббб');
562
ERROR 23000: Duplicate entry 'б' for key 'a'
563
select c as c_all from t1 order by c;
572
select c as c_a from t1 where c='a';
575
select c as c_a from t1 where c='б';
579
create table t1 (c varchar(30) character set utf8mb4 collate utf8mb4_bin, unique(c(10)));
580
insert into t1 values ('1'),('2'),('3'),('x'),('y'),('z');
581
insert into t1 values ('aaaaaaaaaa');
582
insert into t1 values ('aaaaaaaaaaa');
583
ERROR 23000: Duplicate entry 'aaaaaaaaaa' for key 'c'
584
insert into t1 values ('aaaaaaaaaaaa');
585
ERROR 23000: Duplicate entry 'aaaaaaaaaa' for key 'c'
586
insert into t1 values (repeat('b',20));
587
select c c1 from t1 where c='1';
590
select c c2 from t1 where c='2';
593
select c c3 from t1 where c='3';
596
select c cx from t1 where c='x';
599
select c cy from t1 where c='y';
602
select c cz from t1 where c='z';
605
select c ca10 from t1 where c='aaaaaaaaaa';
608
select c cb20 from t1 where c=repeat('b',20);
612
create table t1 (c char(3) character set utf8mb4 collate utf8mb4_bin, unique (c(2)));
613
insert into t1 values ('1'),('2'),('3'),('4'),('x'),('y'),('z');
614
insert into t1 values ('a');
615
insert into t1 values ('aa');
616
insert into t1 values ('aaa');
617
ERROR 23000: Duplicate entry 'aa' for key 'c'
618
insert into t1 values ('b');
619
insert into t1 values ('bb');
620
insert into t1 values ('bbb');
621
ERROR 23000: Duplicate entry 'bb' for key 'c'
622
insert into t1 values ('а');
623
insert into t1 values ('аа');
624
insert into t1 values ('ааа');
625
ERROR 23000: Duplicate entry 'аа' for key 'c'
626
insert into t1 values ('б');
627
insert into t1 values ('бб');
628
insert into t1 values ('ббб');
629
ERROR 23000: Duplicate entry 'бб' for key 'c'
630
insert into t1 values ('ꪪ');
631
insert into t1 values ('ꪪꪪ');
632
insert into t1 values ('ꪪꪪꪪ');
633
ERROR 23000: Duplicate entry 'ꪪꪪ' for key 'c'
636
c char(10) character set utf8mb4 collate utf8mb4_bin,
637
unique key a using hash (c(1))
639
show create table t1;
641
t1 CREATE TABLE `t1` (
642
`c` char(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
643
UNIQUE KEY `a` (`c`(1)) USING HASH
644
) ENGINE=MEMORY DEFAULT CHARSET=latin1
645
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
646
insert into t1 values ('aa');
647
ERROR 23000: Duplicate entry 'a' for key 'a'
648
insert into t1 values ('aaa');
649
ERROR 23000: Duplicate entry 'a' for key 'a'
650
insert into t1 values ('б');
651
insert into t1 values ('бб');
652
ERROR 23000: Duplicate entry 'б' for key 'a'
653
insert into t1 values ('ббб');
654
ERROR 23000: Duplicate entry 'б' for key 'a'
655
select c as c_all from t1 order by c;
664
select c as c_a from t1 where c='a';
667
select c as c_a from t1 where c='б';
672
c char(10) character set utf8mb4 collate utf8mb4_bin,
673
unique key a using btree (c(1))
675
show create table t1;
677
t1 CREATE TABLE `t1` (
678
`c` char(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
679
UNIQUE KEY `a` (`c`(1)) USING BTREE
680
) ENGINE=MEMORY DEFAULT CHARSET=latin1
681
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
682
insert into t1 values ('aa');
683
ERROR 23000: Duplicate entry 'a' for key 'a'
684
insert into t1 values ('aaa');
685
ERROR 23000: Duplicate entry 'a' for key 'a'
686
insert into t1 values ('б');
687
insert into t1 values ('бб');
688
ERROR 23000: Duplicate entry 'б' for key 'a'
689
insert into t1 values ('ббб');
690
ERROR 23000: Duplicate entry 'б' for key 'a'
691
select c as c_all from t1 order by c;
700
select c as c_a from t1 where c='a';
703
select c as c_a from t1 where c='б';
708
c char(10) character set utf8mb4 collate utf8mb4_bin,
711
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
712
insert into t1 values ('aa');
713
ERROR 23000: Duplicate entry 'a' for key 'a'
714
insert into t1 values ('aaa');
715
ERROR 23000: Duplicate entry 'a' for key 'a'
716
insert into t1 values ('б');
717
insert into t1 values ('бб');
718
ERROR 23000: Duplicate entry 'б' for key 'a'
719
insert into t1 values ('ббб');
720
ERROR 23000: Duplicate entry 'б' for key 'a'
721
select c as c_all from t1 order by c;
730
select c as c_a from t1 where c='a';
733
select c as c_a from t1 where c='б';
738
str varchar(255) character set utf8mb4 not null,
741
INSERT INTO t1 VALUES ('str');
742
INSERT INTO t1 VALUES ('str2');
743
select * from t1 where str='str';
748
str varchar(255) character set utf8mb4 not null,
751
INSERT INTO t1 VALUES ('str');
752
INSERT INTO t1 VALUES ('str2');
753
select * from t1 where str='str';
758
str varchar(255) character set utf8mb4 not null,
759
key str using btree (str(2))
761
INSERT INTO t1 VALUES ('str');
762
INSERT INTO t1 VALUES ('str2');
763
select * from t1 where str='str';
768
str varchar(255) character set utf8mb4 not null,
769
key str using hash (str(2))
771
INSERT INTO t1 VALUES ('str');
772
INSERT INTO t1 VALUES ('str2');
773
select * from t1 where str='str';
778
str varchar(255) character set utf8mb4 not null,
781
INSERT INTO t1 VALUES ('str');
782
INSERT INTO t1 VALUES ('str2');
783
select * from t1 where str='str';
787
CREATE TABLE t1 (a varchar(32) BINARY) CHARACTER SET utf8mb4;
788
INSERT INTO t1 VALUES ('test');
789
SELECT a FROM t1 WHERE a LIKE '%te';
794
subject varchar(255) character set utf8mb4 collate utf8mb4_unicode_ci,
795
p varchar(15) character set utf8mb4
796
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
797
INSERT INTO t1 VALUES ('谷川俊二と申しますが、インターネット予約の会員登録をしましたところ、メールアドレスを間違えてしまい会員IDが受け取ることが出来ませんでした。間違えアドレスはtani-shun@n.vodafone.ne.jpを書き込みました。どうすればよいですか? その他、住所等は間違えありません。連絡ください。よろしくお願いします。m(__)m','040312-000057');
798
INSERT INTO t1 VALUES ('aaa','bbb');
799
SELECT length(subject) FROM t1;
803
SELECT length(subject) FROM t1 ORDER BY 1;
809
id int unsigned NOT NULL auto_increment,
810
list_id smallint unsigned NOT NULL,
813
INDEX(list_id, term(4))
814
) ENGINE=MYISAM CHARSET=utf8mb4;
815
INSERT INTO t1 SET list_id = 1, term = "letterc";
816
INSERT INTO t1 SET list_id = 1, term = "letterb";
817
INSERT INTO t1 SET list_id = 1, term = "lettera";
818
INSERT INTO t1 SET list_id = 1, term = "letterd";
819
SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterc");
822
SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterb");
825
SELECT id FROM t1 WHERE (list_id = 1) AND (term = "lettera");
828
SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterd");
834
id int unsigned NOT NULL auto_increment,
835
list_id smallint unsigned NOT NULL,
838
INDEX(list_id, term(19))
839
) ENGINE=MyISAM CHARSET=utf8mb4;
840
INSERT INTO t1 set list_id = 1, term = "test�test";
841
INSERT INTO t1 set list_id = 1, term = "testetest";
842
INSERT INTO t1 set list_id = 1, term = "test�test";
843
SELECT id, term FROM t1 where (list_id = 1) AND (term = "test�test");
848
SELECT id, term FROM t1 where (list_id = 1) AND (term = "testetest");
853
SELECT id, term FROM t1 where (list_id = 1) AND (term = "test�test");
864
) engine=innodb character set=utf8mb4;
865
insert into t1 values(1,'foo'),(2,'foobar');
866
select * from t1 where b like 'foob%';
869
alter table t1 engine=innodb;
870
select * from t1 where b like 'foob%';
875
a enum('петя','вася','анюта') character set utf8mb4 not null default 'анюта',
876
b set('петя','вася','анюта') character set utf8mb4 not null default 'анюта'
878
create table t2 select concat(a,_utf8mb4'') as a, concat(b,_utf8mb4'')as b from t1;
879
show create table t2;
881
t2 CREATE TABLE `t2` (
882
`a` varchar(5) CHARACTER SET utf8mb4 NOT NULL DEFAULT '',
883
`b` varchar(15) CHARACTER SET utf8mb4 NOT NULL DEFAULT ''
884
) ENGINE=MyISAM DEFAULT CHARSET=latin1
887
select 'c' like '\_' as want0;
890
SELECT SUBSTR('вася',-2);
893
create table t1 (id integer, a varchar(100) character set utf8mb4 collate utf8mb4_unicode_ci);
894
insert into t1 values (1, 'Test');
895
select * from t1 where soundex(a) = soundex('Test');
898
select * from t1 where soundex(a) = soundex('TEST');
901
select * from t1 where soundex(a) = soundex('test');
905
select soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB);
906
soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB)
908
select hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB));
909
hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB))
911
select soundex(_utf8mb4 0xD091D092D093);
912
soundex(_utf8mb4 0xD091D092D093)
914
select hex(soundex(_utf8mb4 0xD091D092D093));
915
hex(soundex(_utf8mb4 0xD091D092D093))
917
SET collation_connection='utf8mb4_general_ci';
918
create table t1 select repeat('a',4000) a;
920
insert into t1 values ('a'), ('a '), ('a\t');
921
select collation(a),hex(a) from t1 order by a;
923
utf8mb4_general_ci 6109
924
utf8mb4_general_ci 61
925
utf8mb4_general_ci 6120
927
select @@collation_connection;
928
@@collation_connection
930
create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
931
insert into t1 values('abcdef');
932
insert into t1 values('_bcdef');
933
insert into t1 values('a_cdef');
934
insert into t1 values('ab_def');
935
insert into t1 values('abc_ef');
936
insert into t1 values('abcd_f');
937
insert into t1 values('abcde_');
938
select c1 as c1u from t1 where c1 like 'ab\_def';
941
select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
945
drop table if exists t1;
946
create table t1 as select repeat(' ', 64) as s1;
947
select collation(s1) from t1;
951
insert into t1 values ('a'),('ae'),(_latin1 0xE4);
952
insert into t1 values ('o'),('oe'),(_latin1 0xF6);
953
insert into t1 values ('s'),('ss'),(_latin1 0xDF);
954
insert into t1 values ('u'),('ue'),(_latin1 0xFC);
955
select s1, hex(s1) from t1 order by s1, binary s1;
969
select group_concat(s1 order by binary s1) from t1 group by s1;
970
group_concat(s1 order by binary s1)
980
SET collation_connection='utf8mb4_bin';
981
create table t1 select repeat('a',4000) a;
983
insert into t1 values ('a'), ('a '), ('a\t');
984
select collation(a),hex(a) from t1 order by a;
990
select @@collation_connection;
991
@@collation_connection
993
create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
994
insert into t1 values('abcdef');
995
insert into t1 values('_bcdef');
996
insert into t1 values('a_cdef');
997
insert into t1 values('ab_def');
998
insert into t1 values('abc_ef');
999
insert into t1 values('abcd_f');
1000
insert into t1 values('abcde_');
1001
select c1 as c1u from t1 where c1 like 'ab\_def';
1004
select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
1009
user varchar(255) NOT NULL default ''
1010
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
1011
INSERT INTO t1 VALUES ('one'),('two');
1012
SELECT CHARSET('a');
1015
SELECT user, CONCAT('<', user, '>') AS c FROM t1;
1020
create table t1 (f1 varchar(1) not null) default charset utf8mb4;
1021
insert into t1 values (''), ('');
1022
select concat(concat(_latin1'->',f1),_latin1'<-') from t1;
1023
concat(concat(_latin1'->',f1),_latin1'<-')
1027
select convert(_koi8r'�' using utf8mb4) < convert(_koi8r'�' using utf8mb4);
1028
convert(_koi8r'?' using utf8mb4) < convert(_koi8r'?' using utf8mb4)
1031
create table t1 (a varchar(10)) character set utf8mb4;
1032
insert into t1 values ('test');
1033
select ifnull(a,'') from t1;
1037
select repeat(_utf8mb4'+',3) as h union select NULL;
1041
select ifnull(NULL, _utf8mb4'string');
1042
ifnull(NULL, _utf8mb4'string')
1045
create table t1 (s1 char(5) character set utf8mb4 collate utf8mb4_lithuanian_ci);
1046
insert into t1 values ('I'),('K'),('Y');
1047
select * from t1 where s1 < 'K' and s1 = 'Y';
1051
select * from t1 where 'K' > s1 and s1 = 'Y';
1056
create table t1 (s1 char(5) character set utf8mb4 collate utf8mb4_czech_ci);
1057
insert into t1 values ('c'),('d'),('h'),('ch'),('CH'),('cH'),('Ch'),('i');
1058
select * from t1 where s1 > 'd' and s1 = 'CH';
1063
select * from t1 where 'd' < s1 and s1 = 'CH';
1068
select * from t1 where s1 = 'cH' and s1 <> 'ch';
1071
select * from t1 where 'cH' = s1 and s1 <> 'ch';
1075
create table t1 (a varchar(255)) default character set utf8mb4;
1076
insert into t1 values (1.0);
1080
city varchar(20) not null,
1082
) character set=utf8mb4;
1083
insert into t1 values (1,'Durban North');
1084
insert into t1 values (2,'Durban');
1085
select * from t1 where city = 'Durban';
1088
select * from t1 where city = 'Durban ';
1092
create table t1 (x set('A', 'B') default 0) character set utf8mb4;
1093
ERROR 42000: Invalid default value for 'x'
1094
create table t1 (x enum('A', 'B') default 0) character set utf8mb4;
1095
ERROR 42000: Invalid default value for 'x'
1098
`id` int(20) NOT NULL auto_increment,
1099
`country` varchar(100) NOT NULL default '',
1100
`shortcode` varchar(100) NOT NULL default '',
1101
`operator` varchar(100) NOT NULL default '',
1102
`momid` varchar(30) NOT NULL default '',
1103
`keyword` varchar(160) NOT NULL default '',
1104
`content` varchar(160) NOT NULL default '',
1105
`second_token` varchar(160) default NULL,
1106
`gateway_id` int(11) NOT NULL default '0',
1107
`created` datetime NOT NULL default '0000-00-00 00:00:00',
1108
`msisdn` varchar(15) NOT NULL default '',
1110
UNIQUE KEY `MSCCSPK_20030521130957121` (`momid`),
1111
KEY `IX_mobile_originated_message_keyword` (`keyword`),
1112
KEY `IX_mobile_originated_message_created` (`created`),
1113
KEY `IX_mobile_originated_message_support` (`msisdn`,`momid`,`keyword`,`gateway_id`,`created`)
1114
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
1115
INSERT INTO t1 VALUES
1116
(1,'blah','464','aaa','fkc1c9ilc20x0hgae7lx6j09','ERR','ERR Имри.Афимим.Аеимимримдмримрмрирор имримримримр имридм ирбднримрфмририримрфмфмим.Ад.Д имдимримрад.Адимримримрмдиримримримр м.Дадимфшьмримд им.Адимимрн имадми','ИМРИ.АФИМИМ.АЕИМИМРИМДМРИМРМРИРОР',3,'2005-06-01 17:30:43','1234567890'),
1117
(2,'blah','464','aaa','haxpl2ilc20x00bj4tt2m5ti','11','11 g','G',3,'2005-06-02 22:43:10','1234567890');
1119
`msisdn` varchar(15) NOT NULL default '',
1120
`operator_id` int(11) NOT NULL default '0',
1121
`created` datetime NOT NULL default '0000-00-00 00:00:00',
1122
UNIQUE KEY `PK_user` (`msisdn`)
1123
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
1124
INSERT INTO t2 VALUES ('1234567890',2,'2005-05-24 13:53:25');
1125
SELECT content, t2.msisdn FROM t1, t2 WHERE t1.msisdn = '1234567890';
1127
ERR Имри.Афимим.Аеимимримдмримрмрирор имримримримр имридм ирбднримрфмририримрфмфмим.Ад.Д имдимримрад.Адимримримрмдиримримримр м.Дадимфшьмримд им.Адимимрн имадми 1234567890
1130
create table t1 (a char(20) character set utf8mb4);
1131
insert into t1 values ('123456'),('андрей');
1132
alter table t1 modify a char(2) character set utf8mb4;
1134
Warning 1265 Data truncated for column 'a' at row 1
1135
Warning 1265 Data truncated for column 'a' at row 2
1136
select char_length(a), length(a), a from t1 order by a;
1137
char_length(a) length(a) a
1142
select 'andre%' like 'andreñ%' escape 'ñ';
1143
'andre%' like 'andreñ%' escape 'ñ'
1146
select 'a\\' like 'a\\';
1149
select 'aa\\' like 'a%\\';
1152
create table t1 (a char(10), key(a)) character set utf8mb4;
1153
insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
1154
select * from t1 where a like "abc%";
1158
select * from t1 where a like concat("abc","%");
1162
select * from t1 where a like "ABC%";
1166
select * from t1 where a like "test%";
1169
select * from t1 where a like "te_t";
1172
select * from t1 where a like "%a%";
1177
select * from t1 where a like "%abcd%";
1180
select * from t1 where a like "%abc\d%";
1185
a varchar(255) NOT NULL default '',
1187
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;
1188
insert into t1 values (_utf8mb4 0xe880bd);
1189
insert into t1 values (_utf8mb4 0x5b);
1190
select hex(a) from t1;
1196
create table t1 (a varchar(255)) default charset=utf8mb4;
1197
select * from t1 where find_in_set('-1', a);
1200
create table t1 (a int);
1201
insert into t1 values (48),(49),(50);
1203
select distinct char(a) from t1;
1209
CREATE TABLE t1 (t TINYTEXT CHARACTER SET utf8mb4);
1210
INSERT INTO t1 VALUES(REPEAT('a', 100));
1211
CREATE TEMPORARY TABLE t2 SELECT COALESCE(t) AS bug FROM t1;
1212
SELECT LENGTH(bug) FROM t2;
1217
CREATE TABLE t1 (item varchar(255)) default character set utf8mb4;
1218
INSERT INTO t1 VALUES (N'\\');
1219
INSERT INTO t1 VALUES (_utf8mb4'\\');
1220
INSERT INTO t1 VALUES (N'Cote d\'Ivoire');
1221
INSERT INTO t1 VALUES (_utf8mb4'Cote d\'Ivoire');
1222
SELECT item FROM t1 ORDER BY item;
1230
DROP TABLE IF EXISTS t1;
1232
Note 1051 Unknown table 't1'
1233
CREATE TABLE t1(a VARCHAR(255), KEY(a)) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
1234
INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
1235
INSERT INTO t1 VALUES('uu');
1237
Table Op Msg_type Msg_text
1238
test.t1 check status OK
1239
INSERT INTO t1 VALUES('uU');
1241
Table Op Msg_type Msg_text
1242
test.t1 check status OK
1243
INSERT INTO t1 VALUES('uu');
1245
Table Op Msg_type Msg_text
1246
test.t1 check status OK
1247
INSERT INTO t1 VALUES('uuABC');
1249
Table Op Msg_type Msg_text
1250
test.t1 check status OK
1251
INSERT INTO t1 VALUES('UuABC');
1253
Table Op Msg_type Msg_text
1254
test.t1 check status OK
1255
INSERT INTO t1 VALUES('uuABC');
1257
Table Op Msg_type Msg_text
1258
test.t1 check status OK
1259
alter table t1 add b int;
1260
INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',1);
1261
INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',2);
1262
delete from t1 where b=1;
1263
INSERT INTO t1 VALUES('UUABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',1);
1265
Table Op Msg_type Msg_text
1266
test.t1 check status OK
1267
INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',3);
1268
INSERT INTO t1 VALUES('uuABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',4);
1269
delete from t1 where b=3;
1270
INSERT INTO t1 VALUES('uUABCDEFGHIGKLMNOPRSTUVWXYZ̈bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',3);
1272
Table Op Msg_type Msg_text
1273
test.t1 check status OK
1276
create table t1 (s1 char(5) character set utf8mb4);
1277
insert into t1 values
1278
('a'),('b'),(null),('ペテルグル'),('ü'),('Y');
1279
create index it1 on t1 (s1);
1280
select s1 as before_delete_general_ci from t1 where s1 like 'ペテ%';
1281
before_delete_general_ci
1283
delete from t1 where s1 = 'Y';
1284
select s1 as after_delete_general_ci from t1 where s1 like 'ペテ%';
1285
after_delete_general_ci
1289
create table t1 (s1 char(5) character set utf8mb4 collate utf8mb4_unicode_ci);
1290
insert into t1 values
1291
('a'),('b'),(null),('ペテルグル'),('ü'),('Y');
1292
create index it1 on t1 (s1);
1293
select s1 as before_delete_unicode_ci from t1 where s1 like 'ペテ%';
1294
before_delete_unicode_ci
1296
delete from t1 where s1 = 'Y';
1297
select s1 as after_delete_unicode_ci from t1 where s1 like 'ペテ%';
1298
after_delete_unicode_ci
1302
create table t1 (s1 char(5) character set utf8mb4 collate utf8mb4_bin);
1303
insert into t1 values
1304
('a'),('b'),(null),('ペテルグル'),('ü'),('Y');
1305
create index it1 on t1 (s1);
1306
select s1 as before_delete_bin from t1 where s1 like 'ペテ%';
1309
delete from t1 where s1 = 'Y';
1310
select s1 as after_delete_bin from t1 where s1 like 'ペテ%';
1315
create table t1 (a varchar(30) not null primary key)
1316
engine=innodb default character set utf8mb4 collate utf8mb4_general_ci;
1317
insert into t1 values ('あいうえおかきくけこさしすせそ');
1318
insert into t1 values ('さしすせそかきくけこあいうえお');
1319
select a as gci1 from t1 where a like 'さしすせそかきくけこあいうえお%';
1322
select a as gci2 from t1 where a like 'あいうえおかきくけこさしすせそ';
1327
create table t1 (a varchar(30) not null primary key)
1328
engine=innodb default character set utf8mb4 collate utf8mb4_unicode_ci;
1329
insert into t1 values ('あいうえおかきくけこさしすせそ');
1330
insert into t1 values ('さしすせそかきくけこあいうえお');
1331
select a as uci1 from t1 where a like 'さしすせそかきくけこあいうえお%';
1334
select a as uci2 from t1 where a like 'あいうえおかきくけこさしすせそ';
1339
create table t1 (a varchar(30) not null primary key)
1340
engine=innodb default character set utf8mb4 collate utf8mb4_bin;
1341
insert into t1 values ('あいうえおかきくけこさしすせそ');
1342
insert into t1 values ('さしすせそかきくけこあいうえお');
1343
select a as bin1 from t1 where a like 'さしすせそかきくけこあいうえお%';
1346
select a as bin2 from t1 where a like 'あいうえおかきくけこさしすせそ';
1351
CREATE TABLE t1 (id int PRIMARY KEY,
1352
a varchar(16) collate utf8mb4_unicode_ci NOT NULL default '',
1354
f varchar(128) default 'XXX',
1356
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1357
INSERT INTO t1(id, a, b) VALUES
1358
(1, 'cccc', 50), (2, 'cccc', 70), (3, 'cccc', 30),
1359
(4, 'cccc', 30), (5, 'cccc', 20), (6, 'bbbbbb', 40),
1360
(7, 'dddd', 30), (8, 'aaaa', 10), (9, 'aaaa', 50),
1361
(10, 'eeeee', 40), (11, 'bbbbbb', 60);
1362
SELECT id, a, b FROM t1;
1375
SELECT id, a, b FROM t1 WHERE a BETWEEN 'aaaa' AND 'bbbbbb';
1381
SELECT id, a FROM t1 WHERE a='bbbbbb';
1385
SELECT id, a FROM t1 WHERE a='bbbbbb' ORDER BY b;
1392
a CHAR(13) DEFAULT '',
1394
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
1395
INSERT INTO t1 VALUES
1396
('Käli Käli 2-4'), ('Käli Käli 2-4'),
1397
('Käli Käli 2+4'), ('Käli Käli 2+4'),
1398
('Käli Käli 2-6'), ('Käli Käli 2-6');
1399
INSERT INTO t1 SELECT * FROM t1;
1401
a CHAR(13) DEFAULT '',
1403
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
1404
INSERT INTO t2 VALUES
1405
('Kali Kali 2-4'), ('Kali Kali 2-4'),
1406
('Kali Kali 2+4'), ('Kali Kali 2+4'),
1407
('Kali Kali 2-6'), ('Kali Kali 2-6');
1408
INSERT INTO t2 SELECT * FROM t2;
1409
SELECT a FROM t1 WHERE a LIKE 'Käli Käli 2+4';
1415
SELECT a FROM t2 WHERE a LIKE 'Kali Kali 2+4';
1421
EXPLAIN SELECT a FROM t1 WHERE a LIKE 'Käli Käli 2+4';
1422
id select_type table type possible_keys key key_len ref rows Extra
1423
1 SIMPLE t1 range a a 53 NULL 4 Using where; Using index
1424
EXPLAIN SELECT a FROM t1 WHERE a = 'Käli Käli 2+4';
1425
id select_type table type possible_keys key key_len ref rows Extra
1426
1 SIMPLE t1 ref a a 53 const 4 Using where; Using index
1427
EXPLAIN SELECT a FROM t2 WHERE a LIKE 'Kali Kali 2+4';
1428
id select_type table type possible_keys key key_len ref rows Extra
1429
1 SIMPLE t2 range a a 14 NULL 4 Using where; Using index
1430
EXPLAIN SELECT a FROM t2 WHERE a = 'Kali Kali 2+4';
1431
id select_type table type possible_keys key key_len ref rows Extra
1432
1 SIMPLE t2 ref a a 14 const 4 Using where; Using index
1435
a char(255) DEFAULT '',
1437
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
1438
INSERT INTO t1 VALUES ('Käli Käli 2-4');
1439
SELECT * FROM t1 WHERE a LIKE 'Käli Käli 2%';
1442
INSERT INTO t1 VALUES ('Käli Käli 2-4');
1443
SELECT * FROM t1 WHERE a LIKE 'Käli Käli 2%';
1449
a char(255) DEFAULT ''
1450
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
1451
INSERT INTO t1 VALUES ('Käli Käli 2-4');
1452
INSERT INTO t1 VALUES ('Käli Käli 2-4');
1453
SELECT * FROM t1 WHERE a LIKE 'Käli Käli 2%';
1457
ALTER TABLE t1 ADD KEY (a(10));
1458
SELECT * FROM t1 WHERE a LIKE 'Käli Käli 2%';
1465
id int(11) NOT NULL default '0',
1466
tid int(11) NOT NULL default '0',
1468
INDEX idx(tid, val(10))
1469
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
1470
INSERT INTO t1 VALUES
1471
(40988,72,'VOLN� ADSL'),(41009,72,'VOLN� ADSL'),
1472
(41032,72,'VOLN� ADSL'),(41038,72,'VOLN� ADSL'),
1473
(41063,72,'VOLN� ADSL'),(41537,72,'VOLN� ADSL Office'),
1474
(42141,72,'VOLN� ADSL'),(42565,72,'VOLN� ADSL Combi'),
1475
(42749,72,'VOLN� ADSL'),(44205,72,'VOLN� ADSL');
1476
SELECT * FROM t1 WHERE tid=72 and val LIKE 'VOLNY ADSL';
1486
SELECT * FROM t1 WHERE tid=72 and val LIKE 'VOLN� ADSL';
1496
SELECT * FROM t1 WHERE tid=72 and val LIKE '%VOLN� ADSL';
1506
ALTER TABLE t1 DROP KEY idx;
1507
ALTER TABLE t1 ADD KEY idx (tid,val(11));
1508
SELECT * FROM t1 WHERE tid=72 and val LIKE 'VOLN� ADSL';
1519
create table t1(a char(200) collate utf8mb4_unicode_ci NOT NULL default '')
1520
default charset=utf8mb4 collate=utf8mb4_unicode_ci;
1521
insert into t1 values (unhex('65')), (unhex('C3A9')), (unhex('65'));
1522
explain select distinct a from t1;
1523
id select_type table type possible_keys key key_len ref rows Extra
1524
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using temporary
1525
select distinct a from t1;
1528
explain select a from t1 group by a;
1529
id select_type table type possible_keys key key_len ref rows Extra
1530
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using temporary; Using filesort
1531
select a from t1 group by a;
1535
create table t1(a char(10)) default charset utf8mb4;
1536
insert into t1 values ('123'), ('456');
1538
select substr(Z.a,-1), Z.a from t1 as Y join t1 as Z on Y.a=Z.a order by 1;
1539
id select_type table type possible_keys key key_len ref rows Extra
1540
1 SIMPLE Y ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
1541
1 SIMPLE Z ALL NULL NULL NULL NULL 2 Using where; Using join buffer
1542
select substr(Z.a,-1), Z.a from t1 as Y join t1 as Z on Y.a=Z.a order by 1;
1547
SET CHARACTER SET utf8mb4;
1548
SHOW VARIABLES LIKE 'character\_set\_%';
1550
character_set_client utf8mb4
1551
character_set_connection latin1
1552
character_set_database latin1
1553
character_set_filesystem binary
1554
character_set_results utf8mb4
1555
character_set_server latin1
1556
character_set_system utf8
1557
CREATE DATABASE crashtest DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
1559
CREATE TABLE crashtest (crash char(10)) DEFAULT CHARSET=utf8mb4;
1560
INSERT INTO crashtest VALUES ('35'), ('36'), ('37');
1561
SELECT * FROM crashtest ORDER BY CHAR(crash USING utf8mb4);
1566
INSERT INTO crashtest VALUES ('-1000');
1567
EXPLAIN SELECT * FROM crashtest ORDER BY CHAR(crash USING utf8mb4);
1568
id select_type table type possible_keys key key_len ref rows Extra
1569
1 SIMPLE crashtest ALL NULL NULL NULL NULL 4 Using filesort
1570
SELECT * FROM crashtest ORDER BY CHAR(crash USING utf8mb4);
1577
Warning 1300 Invalid utf8mb4 character string: 'FFFFFC'
1578
DROP TABLE crashtest;
1579
DROP DATABASE crashtest;
1581
SET CHARACTER SET default;
1582
CREATE TABLE t1(id varchar(20) NOT NULL) DEFAULT CHARSET=utf8mb4;
1583
INSERT INTO t1 VALUES ('xxx'), ('aa'), ('yyy'), ('aa');
1590
SELECT DISTINCT id FROM t1;
1595
SELECT DISTINCT id FROM t1 ORDER BY id;
1602
a varchar(26) not null
1603
) default character set utf8mb4;
1604
insert into t1 (a) values ('abcdefghijklmnopqrstuvwxyz');
1607
abcdefghijklmnopqrstuvwxyz
1608
alter table t1 change a a varchar(20) character set utf8mb4 not null;
1610
Warning 1265 Data truncated for column 'a' at row 1
1613
abcdefghijklmnopqrst
1614
alter table t1 change a a char(15) character set utf8mb4 not null;
1616
Warning 1265 Data truncated for column 'a' at row 1
1620
alter table t1 change a a char(10) character set utf8mb4 not null;
1622
Warning 1265 Data truncated for column 'a' at row 1
1626
alter table t1 change a a varchar(5) character set utf8mb4 not null;
1628
Warning 1265 Data truncated for column 'a' at row 1
1634
a varchar(4000) not null
1635
) default character set utf8mb4;
1636
insert into t1 values (repeat('a',4000));
1637
alter table t1 change a a varchar(3000) character set utf8mb4 not null;
1639
Warning 1265 Data truncated for column 'a' at row 1
1640
select length(a) from t1;
1645
select hex(char(1 using utf8mb4));
1646
hex(char(1 using utf8mb4))
1648
select char(0xd1,0x8f using utf8mb4);
1649
char(0xd1,0x8f using utf8mb4)
1651
select char(0xd18f using utf8mb4);
1652
char(0xd18f using utf8mb4)
1654
select char(53647 using utf8mb4);
1655
char(53647 using utf8mb4)
1657
select char(0xff,0x8f using utf8mb4);
1658
char(0xff,0x8f using utf8mb4)
1661
Warning 1300 Invalid utf8mb4 character string: 'FF8F'
1662
select convert(char(0xff,0x8f) using utf8mb4);
1663
convert(char(0xff,0x8f) using utf8mb4)
1666
Warning 1300 Invalid utf8mb4 character string: 'FF8F'
1667
set sql_mode=traditional;
1668
select char(0xff,0x8f using utf8mb4);
1669
char(0xff,0x8f using utf8mb4)
1672
Warning 1300 Invalid utf8mb4 character string: 'FF8F'
1673
select char(195 using utf8mb4);
1674
char(195 using utf8mb4)
1677
Warning 1300 Invalid utf8mb4 character string: 'C3'
1678
select char(196 using utf8mb4);
1679
char(196 using utf8mb4)
1682
Warning 1300 Invalid utf8mb4 character string: 'C4'
1683
select char(2557 using utf8mb4);
1684
char(2557 using utf8mb4)
1687
Warning 1300 Invalid utf8mb4 character string: 'FD'
1688
select convert(char(0xff,0x8f) using utf8mb4);
1689
convert(char(0xff,0x8f) using utf8mb4)
1692
Warning 1300 Invalid utf8mb4 character string: 'FF8F'
1693
select hex(convert(char(2557 using latin1) using utf8mb4));
1694
hex(convert(char(2557 using latin1) using utf8mb4))
1696
select hex(char(195));
1699
select hex(char(196));
1702
select hex(char(2557));
1706
create table t1 (a char(1)) default character set utf8mb4;
1707
create table t2 (a char(1)) default character set utf8mb4;
1708
insert into t1 values('a'),('a'),(0xE38182),(0xE38182);
1709
insert into t1 values('i'),('i'),(0xE38184),(0xE38184);
1710
select * from t1 union distinct select * from t2;
1718
create table t1 (a char(10), b varchar(10));
1719
insert into t1 values ('bar','kostja');
1720
insert into t1 values ('kostja','bar');
1721
prepare my_stmt from "select * from t1 where a=?";
1723
execute my_stmt using @a;
1727
execute my_stmt using @a;
1731
execute my_stmt using @a;
1733
drop table if exists t1;
1734
drop table if exists t1;
1735
drop view if exists v1, v2;
1737
create table t1(col1 varchar(12) character set utf8mb4 collate utf8mb4_unicode_ci);
1738
insert into t1 values('t1_val');
1739
create view v1 as select 'v1_val' as col1;
1740
select coercibility(col1), collation(col1) from v1;
1741
coercibility(col1) collation(col1)
1742
4 utf8mb4_general_ci
1743
create view v2 as select col1 from v1 union select col1 from t1;
1744
select coercibility(col1), collation(col1)from v2;
1745
coercibility(col1) collation(col1)
1746
2 utf8mb4_unicode_ci
1747
2 utf8mb4_unicode_ci
1749
create view v1 as select 'v1_val' collate utf8mb4_swedish_ci as col1;
1750
select coercibility(col1), collation(col1) from v1;
1751
coercibility(col1) collation(col1)
1752
0 utf8mb4_swedish_ci
1753
create view v2 as select col1 from v1 union select col1 from t1;
1754
select coercibility(col1), collation(col1) from v2;
1755
coercibility(col1) collation(col1)
1756
0 utf8mb4_swedish_ci
1757
0 utf8mb4_swedish_ci
1761
create table t1 (a varchar(10) character set latin1, b int);
1762
insert into t1 values ('a',1);
1763
select concat(a, if(b>10, N'x', N'y')) from t1;
1764
concat(a, if(b>10, N'x', N'y'))
1766
select concat(a, if(b>10, N'æ', N'ß')) from t1;
1767
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
1770
create table t1 (a varchar(10) character set latin1, b int);
1771
insert into t1 values ('a',1);
1772
select concat(a, if(b>10, _utf8mb4'x', _utf8mb4'y')) from t1;
1773
concat(a, if(b>10, _utf8mb4'x', _utf8mb4'y'))
1775
select concat(a, if(b>10, _utf8mb4'æ', _utf8mb4'ß')) from t1;
1776
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation 'concat'
1779
create table t1 (a varchar(10) character set latin1, b int);
1780
insert into t1 values ('a',1);
1781
select concat(a, if(b>10, _utf8mb4 0x78, _utf8mb4 0x79)) from t1;
1782
concat(a, if(b>10, _utf8mb4 0x78, _utf8mb4 0x79))
1784
select concat(a, if(b>10, _utf8mb4 0xC3A6, _utf8mb4 0xC3AF)) from t1;
1785
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation 'concat'
1788
create table t1 (a varchar(10) character set latin1, b int);
1789
insert into t1 values ('a',1);
1790
select concat(a, if(b>10, 'x' 'x', 'y' 'y')) from t1;
1791
concat(a, if(b>10, 'x' 'x', 'y' 'y'))
1793
select concat(a, if(b>10, 'x' 'æ', 'y' 'ß')) from t1;
1794
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation 'concat'
1797
colA int(11) NOT NULL,
1798
colB varchar(255) character set utf8mb4 NOT NULL,
1800
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
1801
INSERT INTO t1 (colA, colB) VALUES (1, 'foo'), (2, 'foo bar');
1803
colA int(11) NOT NULL,
1804
colB varchar(255) character set utf8mb4 NOT NULL,
1805
KEY bad (colA,colB(3))
1806
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
1807
INSERT INTO t2 (colA, colB) VALUES (1, 'foo'),(2, 'foo bar');
1808
SELECT * FROM t1 JOIN t2 ON t1.colA=t2.colA AND t1.colB=t2.colB
1814
SELECT 'н1234567890' UNION SELECT _binary '1';
1818
SELECT 'н1234567890' UNION SELECT 1;
1822
SELECT '1' UNION SELECT 'н1234567890';
1826
SELECT 1 UNION SELECT 'н1234567890';
1830
CREATE TABLE t1 (c VARCHAR(11)) CHARACTER SET utf8mb4;
1831
CREATE TABLE t2 (b CHAR(1) CHARACTER SET binary, i INT);
1832
INSERT INTO t1 (c) VALUES ('н1234567890');
1833
INSERT INTO t2 (b, i) VALUES ('1', 1);
1834
SELECT c FROM t1 UNION SELECT b FROM t2;
1838
SELECT c FROM t1 UNION SELECT i FROM t2;
1842
SELECT b FROM t2 UNION SELECT c FROM t1;
1846
SELECT i FROM t2 UNION SELECT c FROM t1;
1851
set sql_mode=traditional;
1852
select hex(char(0xFF using utf8mb4));
1853
hex(char(0xFF using utf8mb4))
1856
Warning 1300 Invalid utf8mb4 character string: 'FF'
1857
select hex(convert(0xFF using utf8mb4));
1858
hex(convert(0xFF using utf8mb4))
1861
Warning 1300 Invalid utf8mb4 character string: 'FF'
1862
select hex(_utf8mb4 0x616263FF);
1863
ERROR HY000: Invalid utf8mb4 character string: 'FF'
1864
select hex(_utf8mb4 X'616263FF');
1865
ERROR HY000: Invalid utf8mb4 character string: 'FF'
1866
select hex(_utf8mb4 B'001111111111');
1867
ERROR HY000: Invalid utf8mb4 character string: 'FF'
1868
select (_utf8mb4 X'616263FF');
1869
ERROR HY000: Invalid utf8mb4 character string: 'FF'
1870
set sql_mode=default;
1871
select hex(char(0xFF using utf8mb4));
1872
hex(char(0xFF using utf8mb4))
1875
Warning 1300 Invalid utf8mb4 character string: 'FF'
1876
select hex(convert(0xFF using utf8mb4));
1877
hex(convert(0xFF using utf8mb4))
1880
Warning 1300 Invalid utf8mb4 character string: 'FF'
1881
select hex(_utf8mb4 0x616263FF);
1882
ERROR HY000: Invalid utf8mb4 character string: 'FF'
1883
select hex(_utf8mb4 X'616263FF');
1884
ERROR HY000: Invalid utf8mb4 character string: 'FF'
1885
select hex(_utf8mb4 B'001111111111');
1886
ERROR HY000: Invalid utf8mb4 character string: 'FF'
1887
select (_utf8mb4 X'616263FF');
1888
ERROR HY000: Invalid utf8mb4 character string: 'FF'
1889
CREATE TABLE t1 (a INT NOT NULL, b INT NOT NULL);
1890
INSERT INTO t1 VALUES (70000, 1092), (70001, 1085), (70002, 1065);
1891
SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1 GROUP BY b;
1892
CONVERT(a, CHAR) CONVERT(b, CHAR)
1896
SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1;
1897
CONVERT(a, CHAR) CONVERT(b, CHAR)
1901
ALTER TABLE t1 ADD UNIQUE (b);
1902
SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1 GROUP BY b;
1903
CONVERT(a, CHAR) CONVERT(b, CHAR)
1908
SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) FROM t1 GROUP BY b;
1909
CONVERT(a, CHAR) CONVERT(b, CHAR)
1913
ALTER TABLE t1 ADD INDEX (b);
1914
SELECT CONVERT(a, CHAR), CONVERT(b, CHAR) from t1 GROUP BY b;
1915
CONVERT(a, CHAR) CONVERT(b, CHAR)
1921
# Bug#26474: Add Sinhala script (Sri Lanka) collation to MySQL
1923
DROP TABLE IF EXISTS t1;
1925
predicted_order int NOT NULL,
1926
utf8mb4_encoding VARCHAR(10) NOT NULL
1927
) CHARACTER SET utf8mb4;
1928
INSERT INTO t1 VALUES (19, x'E0B696'), (30, x'E0B69AE0B798'), (61, x'E0B6AF'), (93, x'E0B799'), (52, x'E0B6A6'), (73, x'E0B6BBE0B78AE2808D'), (3, x'E0B686'), (56, x'E0B6AA'), (55, x'E0B6A9'), (70, x'E0B6B9'), (94, x'E0B79A'), (80, x'E0B785'), (25, x'E0B69AE0B791'), (48, x'E0B6A2'), (13, x'E0B690'), (86, x'E0B793'), (91, x'E0B79F'), (81, x'E0B786'), (79, x'E0B784'), (14, x'E0B691'), (99, x'E0B78A'), (8, x'E0B68B'), (68, x'E0B6B7'), (22, x'E0B69A'), (16, x'E0B693'), (33, x'E0B69AE0B7B3'), (38, x'E0B69AE0B79D'), (21, x'E0B683'), (11, x'E0B68E'), (77, x'E0B782'), (40, x'E0B69AE0B78A'), (101, x'E0B78AE2808DE0B6BB'), (35, x'E0B69AE0B79A'), (1, x'E0B7B4'), (9, x'E0B68C'), (96, x'E0B79C'), (6, x'E0B689'), (95, x'E0B79B'), (88, x'E0B796'), (64, x'E0B6B3'), (26, x'E0B69AE0B792'), (82, x'E0B78F'), (28, x'E0B69AE0B794'), (39, x'E0B69AE0B79E'), (97, x'E0B79D'), (2, x'E0B685'), (75, x'E0B780'), (34, x'E0B69AE0B799'), (69, x'E0B6B8'), (83, x'E0B790'), (18, x'E0B695'), (90, x'E0B7B2'), (17, x'E0B694'), (72, x'E0B6BB'), (66, x'E0B6B5'), (59, x'E0B6AD'), (44, x'E0B69E'), (15, x'E0B692'), (23, x'E0B69AE0B78F'), (65, x'E0B6B4'), (42, x'E0B69C'), (63, x'E0B6B1'), (85, x'E0B792'), (47, x'E0B6A1'), (49, x'E0B6A3'), (92, x'E0B7B3'), (78, x'E0B783'), (36, x'E0B69AE0B79B'), (4, x'E0B687'), (24, x'E0B69AE0B790'), (87, x'E0B794'), (37, x'E0B69AE0B79C'), (32, x'E0B69AE0B79F'), (29, x'E0B69AE0B796'), (43, x'E0B69D'), (62, x'E0B6B0'), (100, x'E0B78AE2808DE0B6BA'), (60, x'E0B6AE'), (45, x'E0B69F'), (12, x'E0B68F'), (46, x'E0B6A0'), (50, x'E0B6A5'), (51, x'E0B6A4'), (5, x'E0B688'), (76, x'E0B781'), (89, x'E0B798'), (74, x'E0B6BD'), (10, x'E0B68D'), (57, x'E0B6AB'), (71, x'E0B6BA'), (58, x'E0B6AC'), (27, x'E0B69AE0B793'), (54, x'E0B6A8'), (84, x'E0B791'), (31, x'E0B69AE0B7B2'), (98, x'E0B79E'), (53, x'E0B6A7'), (41, x'E0B69B'), (67, x'E0B6B6'), (7, x'E0B68A'), (20, x'E0B682');
1929
SELECT predicted_order, hex(utf8mb4_encoding) FROM t1 ORDER BY utf8mb4_encoding COLLATE utf8mb4_sinhala_ci;
1930
predicted_order hex(utf8mb4_encoding)
2003
73 E0B6BBE0B78AE2808D
2030
100 E0B78AE2808DE0B6BA
2031
101 E0B78AE2808DE0B6BB
2034
# Bug#32914 Character sets: illegal characters in utf8mb4 and utf32 columns
2036
create table t1 (utf8mb4 char(1) character set utf8mb4);
2037
Testing [F0][90..BF][80..BF][80..BF]
2038
insert into t1 values (0xF0908080);
2039
insert into t1 values (0xF0BFBFBF);
2040
insert into t1 values (0xF08F8080);
2042
Warning 1366 Incorrect string value: '\xF0\x8F\x80\x80' for column 'utf8mb4' at row 1
2043
select hex(utf8mb4) from t1;
2049
Testing [F2..F3][80..BF][80..BF][80..BF]
2050
insert into t1 values (0xF2808080);
2051
insert into t1 values (0xF2BFBFBF);
2052
select hex(utf8mb4) from t1;
2057
Testing [F4][80..8F][80..BF][80..BF]
2058
insert into t1 values (0xF4808080);
2059
insert into t1 values (0xF48F8080);
2060
insert into t1 values (0xF4908080);
2062
Warning 1366 Incorrect string value: '\xF4\x90\x80\x80' for column 'utf8mb4' at row 1
2063
select hex(utf8mb4) from t1;
2070
# Check strnxfrm() with odd length
2072
set max_sort_length=5;
2073
select @@max_sort_length;
2076
create table t1 (a varchar(128) character set utf8mb4 collate utf8mb4_general_ci);
2077
insert into t1 values ('a'),('b'),('c');
2078
select * from t1 order by a;
2083
alter table t1 modify a varchar(128) character set utf8mb4 collate utf8mb4_bin;
2084
select * from t1 order by a;
2090
set max_sort_length=default;
2092
# Bug#26180: Can't add columns to tables created with utf8mb4 text indexes
2095
clipid INT NOT NULL,
2097
PRIMARY KEY (clipid),
2099
) CHARACTER SET=utf8mb4;
2100
ALTER TABLE t1 ADD mos TINYINT DEFAULT 0 AFTER clipid;
2101
SHOW CREATE TABLE t1;
2103
t1 CREATE TABLE `t1` (
2104
`clipid` int(11) NOT NULL,
2105
`mos` tinyint(4) DEFAULT '0',
2107
PRIMARY KEY (`clipid`),
2108
KEY `tape` (`Tape`(255))
2109
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4
2112
# Testing 4-byte values.
2114
DROP TABLE IF EXISTS t1;
2116
u_decimal int NOT NULL,
2117
utf8mb4_encoding VARCHAR(10) NOT NULL
2118
) CHARACTER SET utf8mb4;
2119
INSERT INTO t1 VALUES (119040, x'f09d8480'),
2121
(119070, x'f09d849e'),
2123
(119134, x'f09d859e'),
2124
# MUSICAL SYMBOL CROIX
2125
(119247, x'f09d878f'),
2126
# MATHEMATICAL BOLD ITALIC CAPITAL DELTA
2127
(120607, x'f09d9c9f'),
2128
# SANS-SERIF BOLD ITALIC CAPITAL PI
2129
(120735, x'f09d9e9f'),
2130
# <Plane 16 Private Use, Last> (last 4 byte character)
2131
(1114111, x'f48fbfbf'),
2132
# VARIATION SELECTOR-256
2133
(917999, x'f3a087af');
2134
INSERT INTO t1 VALUES (119070, x'f09d849ef09d859ef09d859ef09d8480f09d859ff09d859ff09d859ff09d85a0f09d85a0f09d8480');
2135
INSERT INTO t1 VALUES (65131, x'efb9abf09d849ef09d859ef09d859ef09d8480f09d859fefb9abefb9abf09d85a0efb9ab');
2136
INSERT INTO t1 VALUES (119070, x'f09d849ef09d859ef09d859ef09d8480f09d859ff09d859ff09d859ff09d85a0f09d85a0f09d8480f09d85a0');
2138
Warning 1265 Data truncated for column 'utf8mb4_encoding' at row 1
2139
SELECT u_decimal, hex(utf8mb4_encoding) FROM t1 ORDER BY utf8mb4_encoding COLLATE utf8mb4_general_ci, BINARY utf8mb4_encoding;
2140
u_decimal hex(utf8mb4_encoding)
2141
65131 EFB9ABF09D849EF09D859EF09D859EF09D8480F09D859FEFB9ABEFB9ABF09D85A0EFB9AB
2150
119070 F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480
2151
119070 F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480
2152
INSERT INTO t1 VALUES (1114111, x'f5808080');
2154
Warning 1366 Incorrect string value: '\xF5\x80\x80\x80' for column 'utf8mb4_encoding' at row 1
2155
SELECT character_maximum_length, character_octet_length FROM information_schema.columns WHERE
2156
table_name= 't1' AND column_name= 'utf8mb4_encoding';
2157
character_maximum_length character_octet_length
2159
DROP TABLE IF EXISTS t2;
2161
u_decimal int NOT NULL,
2162
utf8mb3_encoding VARCHAR(10) NOT NULL
2163
) CHARACTER SET utf8mb3;
2164
INSERT INTO t2 VALUES (42856, x'ea9da8');
2165
INSERT INTO t2 VALUES (65131, x'efb9ab');
2166
INSERT INTO t2 VALUES (1114111, x'f48fbfbf');
2168
Warning 1366 Incorrect string value: '\xF4\x8F\xBF\xBF' for column 'utf8mb3_encoding' at row 1
2169
SELECT character_maximum_length, character_octet_length FROM information_schema.columns WHERE
2170
table_name= 't2' AND column_name= 'utf8mb3_encoding';
2171
character_maximum_length character_octet_length
2173
UPDATE t2 SET utf8mb3_encoding= x'f48fbfbd' where u_decimal= 42856;
2175
Warning 1366 Incorrect string value: '\xF4\x8F\xBF\xBD' for column 'utf8mb3_encoding' at row 1
2176
UPDATE t2 SET utf8mb3_encoding= _utf8mb4 x'ea9da8' where u_decimal= 42856;
2177
SELECT HEX(CONCAT(utf8mb4_encoding, _utf8 x'ea9da8')) FROM t1;
2178
HEX(CONCAT(utf8mb4_encoding, _utf8 x'ea9da8'))
2187
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EA9DA8
2188
EFB9ABF09D849EF09D859EF09D859EF09D8480F09D859FEFB9ABEFB9ABF09D85A0EFB9ABEA9DA8
2189
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EA9DA8
2191
SELECT HEX(CONCAT(utf8mb4_encoding, utf8mb3_encoding)) FROM t1,t2;
2192
HEX(CONCAT(utf8mb4_encoding, utf8mb3_encoding))
2217
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EA9DA8
2218
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EFB9AB
2219
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480
2220
EFB9ABF09D849EF09D859EF09D859EF09D8480F09D859FEFB9ABEFB9ABF09D85A0EFB9ABEA9DA8
2221
EFB9ABF09D849EF09D859EF09D859EF09D8480F09D859FEFB9ABEFB9ABF09D85A0EFB9ABEFB9AB
2222
EFB9ABF09D849EF09D859EF09D859EF09D8480F09D859FEFB9ABEFB9ABF09D85A0EFB9AB
2223
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EA9DA8
2224
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EFB9AB
2225
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480
2229
SELECT count(*) FROM t1, t2
2230
WHERE t1.utf8mb4_encoding > t2.utf8mb3_encoding;
2233
ALTER TABLE t1 CONVERT TO CHARACTER SET utf8;
2235
Warning 1366 Incorrect string value: '\xF0\x9D\x84\x80' for column 'utf8mb4_encoding' at row 1
2236
Warning 1366 Incorrect string value: '\xF0\x9D\x84\x9E' for column 'utf8mb4_encoding' at row 2
2237
Warning 1366 Incorrect string value: '\xF0\x9D\x85\x9E' for column 'utf8mb4_encoding' at row 3
2238
Warning 1366 Incorrect string value: '\xF0\x9D\x87\x8F' for column 'utf8mb4_encoding' at row 4
2239
Warning 1366 Incorrect string value: '\xF0\x9D\x9C\x9F' for column 'utf8mb4_encoding' at row 5
2240
Warning 1366 Incorrect string value: '\xF0\x9D\x9E\x9F' for column 'utf8mb4_encoding' at row 6
2241
Warning 1366 Incorrect string value: '\xF4\x8F\xBF\xBF' for column 'utf8mb4_encoding' at row 7
2242
Warning 1366 Incorrect string value: '\xF3\xA0\x87\xAF' for column 'utf8mb4_encoding' at row 8
2243
Warning 1366 Incorrect string value: '\xF0\x9D\x84\x9E\xF0\x9D...' for column 'utf8mb4_encoding' at row 9
2244
Warning 1366 Incorrect string value: '\xF0\x9D\x84\x9E\xF0\x9D...' for column 'utf8mb4_encoding' at row 10
2245
Warning 1366 Incorrect string value: '\xF0\x9D\x84\x9E\xF0\x9D...' for column 'utf8mb4_encoding' at row 11
2246
SHOW CREATE TABLE t1;
2248
t1 CREATE TABLE `t1` (
2249
`u_decimal` int(11) NOT NULL,
2250
`utf8mb4_encoding` varchar(10) NOT NULL
2251
) ENGINE=MyISAM DEFAULT CHARSET=utf8
2252
SELECT u_decimal,hex(utf8mb4_encoding),utf8mb4_encoding FROM t1;
2253
u_decimal hex(utf8mb4_encoding) utf8mb4_encoding
2262
119070 3F3F3F3F3F3F3F3F3F3F ??????????
2263
65131 EFB9AB3F3F3F3F3FEFB9ABEFB9AB3FEFB9AB ﹫?????﹫﹫?﹫
2264
119070 3F3F3F3F3F3F3F3F3F3F ??????????
2266
ALTER TABLE t2 CONVERT TO CHARACTER SET utf8mb4;
2267
SHOW CREATE TABLE t2;
2269
t2 CREATE TABLE `t2` (
2270
`u_decimal` int(11) NOT NULL,
2271
`utf8mb3_encoding` varchar(10) NOT NULL
2272
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4
2273
SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
2274
u_decimal hex(utf8mb3_encoding)
2278
ALTER TABLE t2 CONVERT TO CHARACTER SET utf8mb3;
2279
SHOW CREATE TABLE t2;
2281
t2 CREATE TABLE `t2` (
2282
`u_decimal` int(11) NOT NULL,
2283
`utf8mb3_encoding` varchar(10) NOT NULL
2284
) ENGINE=MyISAM DEFAULT CHARSET=utf8
2285
SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
2286
u_decimal hex(utf8mb3_encoding)
2290
ALTER TABLE t1 MODIFY utf8mb4_encoding VARCHAR(10) CHARACTER SET utf8mb3;
2291
SHOW CREATE TABLE t1;
2293
t1 CREATE TABLE `t1` (
2294
`u_decimal` int(11) NOT NULL,
2295
`utf8mb4_encoding` varchar(10) DEFAULT NULL
2296
) ENGINE=MyISAM DEFAULT CHARSET=utf8
2297
SELECT u_decimal,hex(utf8mb4_encoding) FROM t1;
2298
u_decimal hex(utf8mb4_encoding)
2307
119070 3F3F3F3F3F3F3F3F3F3F
2308
65131 EFB9AB3F3F3F3F3FEFB9ABEFB9AB3FEFB9AB
2309
119070 3F3F3F3F3F3F3F3F3F3F
2311
ALTER TABLE t1 MODIFY utf8mb4_encoding VARCHAR(10) CHARACTER SET utf8mb4;
2312
SHOW CREATE TABLE t1;
2314
t1 CREATE TABLE `t1` (
2315
`u_decimal` int(11) NOT NULL,
2316
`utf8mb4_encoding` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
2317
) ENGINE=MyISAM DEFAULT CHARSET=utf8
2318
SELECT u_decimal,hex(utf8mb4_encoding) FROM t1;
2319
u_decimal hex(utf8mb4_encoding)
2328
119070 3F3F3F3F3F3F3F3F3F3F
2329
65131 EFB9AB3F3F3F3F3FEFB9ABEFB9AB3FEFB9AB
2330
119070 3F3F3F3F3F3F3F3F3F3F
2332
ALTER TABLE t2 MODIFY utf8mb3_encoding VARCHAR(10) CHARACTER SET utf8mb4;
2333
SHOW CREATE TABLE t2;
2335
t2 CREATE TABLE `t2` (
2336
`u_decimal` int(11) NOT NULL,
2337
`utf8mb3_encoding` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
2338
) ENGINE=MyISAM DEFAULT CHARSET=utf8
2339
SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
2340
u_decimal hex(utf8mb3_encoding)
2344
DROP TABLE IF EXISTS t3;
2346
u_decimal int NOT NULL,
2347
utf8mb3_encoding VARCHAR(10) NOT NULL
2348
) CHARACTER SET utf8;
2349
INSERT INTO t3 SELECT * FROM t1;
2350
DROP TABLE IF EXISTS t4;
2352
u_decimal int NOT NULL,
2353
utf8mb4_encoding VARCHAR(10) NOT NULL
2354
) CHARACTER SET utf8mb4;
2355
INSERT INTO t3 SELECT * FROM t2;
2361
# Testing that mixing utf8 and utf8mb4 collations returns utf8mb4
2363
SELECT CHARSET(CONCAT(_utf8mb4'a',_utf8'b'));
2364
CHARSET(CONCAT(_utf8mb4'a',_utf8'b'))
2366
CREATE TABLE t1 (utf8mb4 VARCHAR(10) CHARACTER SET utf8mb4 NOT NULL);
2367
INSERT INTO t1 VALUES (x'ea9da8'),(x'f48fbfbf');
2368
SELECT CONCAT(utf8mb4, _utf8 x'ea9da8') FROM t1 LIMIT 0;
2369
CONCAT(utf8mb4, _utf8 x'ea9da8')
2370
CREATE TABLE t2 (utf8mb3 VARCHAR(10) CHARACTER SET utf8mb3 NOT NULL);
2371
INSERT INTO t2 VALUES (x'ea9da8');
2372
SELECT HEX(CONCAT(utf8mb4, utf8mb3)) FROM t1,t2 ORDER BY 1;
2373
HEX(CONCAT(utf8mb4, utf8mb3))
2376
SELECT CHARSET(CONCAT(utf8mb4, utf8mb3)) FROM t1, t2 LIMIT 1;
2377
CHARSET(CONCAT(utf8mb4, utf8mb3))
2379
CREATE TEMPORARY TABLE t3 AS SELECT *, concat(utf8mb4,utf8mb3) FROM t1, t2;
2380
SHOW CREATE TABLE t3;
2382
t3 CREATE TEMPORARY TABLE `t3` (
2383
`utf8mb4` varchar(10) CHARACTER SET utf8mb4 NOT NULL,
2384
`utf8mb3` varchar(10) CHARACTER SET utf8 NOT NULL,
2385
`concat(utf8mb4,utf8mb3)` varchar(20) CHARACTER SET utf8mb4 NOT NULL DEFAULT ''
2386
) ENGINE=MyISAM DEFAULT CHARSET=latin1
2387
DROP TEMPORARY TABLE t3;
2388
SELECT * FROM t1, t2 WHERE t1.utf8mb4 > t2.utf8mb3;
2391
SELECT * FROM t1, t2 WHERE t1.utf8mb4 = t2.utf8mb3;
2394
SELECT * FROM t1, t2 WHERE t1.utf8mb4 < t2.utf8mb3;
2399
# Check that mixing utf8mb4 with an invalid utf8 constant returns error
2401
CREATE TABLE t1 (utf8mb4 VARCHAR(10) CHARACTER SET utf8mb4);
2402
INSERT INTO t1 VALUES (x'f48fbfbf');
2403
SELECT CONCAT(utf8mb4, _utf8 '�') FROM t1;
2404
ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
2405
SELECT CONCAT('a', _utf8 '�') FROM t1;
2406
ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8_general_ci,COERCIBLE) for operation 'concat'
2409
# Bug#51675 Server crashes on inserting 4 byte char.
2410
# after ALTER TABLE to 'utf8mb4'
2414
subject varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci,
2415
p VARCHAR(15) CHARACTER SET utf8
2416
) DEFAULT CHARSET=latin1;
2417
ALTER TABLE t1 ADD INDEX (subject);
2419
DEFAULT CHARACTER SET utf8,
2420
MODIFY subject varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
2421
MODIFY p varchar(255) CHARACTER SET utf8;
2422
SHOW CREATE TABLE t1;
2424
t1 CREATE TABLE `t1` (
2425
`subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2426
`p` varchar(255) DEFAULT NULL,
2427
KEY `subject` (`subject`)
2428
) ENGINE=MyISAM DEFAULT CHARSET=utf8
2429
INSERT INTO t1(subject) VALUES ('abcd');
2430
INSERT INTO t1(subject) VALUES(x'f0909080');
2433
# Bug #51676 Server crashes on SELECT, ORDER BY on 'utf8mb4' column
2437
subject varchar(255) character set utf8mb4 collate utf8mb4_unicode_ci,
2438
p varchar(15) character set utf8mb4
2439
) DEFAULT CHARSET=latin1;
2440
INSERT INTO t1(subject) VALUES(0xF0909080);
2441
INSERT INTO t1(subject) VALUES(0x616263F0909080646566);
2442
SHOW CREATE TABLE t1;
2444
t1 CREATE TABLE `t1` (
2445
`subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
2446
`p` varchar(15) CHARACTER SET utf8mb4 DEFAULT NULL
2447
) ENGINE=MyISAM DEFAULT CHARSET=latin1
2448
SELECT * FROM t1 ORDER BY 1;
2452
SELECT hex(subject), length(subject), char_length(subject), octet_length(subject) FROM t1 ORDER BY 1;
2453
hex(subject) length(subject) char_length(subject) octet_length(subject)
2454
616263F0909080646566 10 7 10
2456
SELECT subject FROM t1 ORDER BY 1;