mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 23:04:20 +01:00
4c26bf9c1d
- Detect if a table has field of type MYSQL_TYPE_VAR_STRING while running "CHECK TABLE t FOR UPGRADE" and indicate it need to be fixed with "REPAIR TABLE t". - When running a "REPAIR TABLE t" or "ALTER TABLE t FORCE" on the above table, install a special copy function to trim off the trailing spaces which we safely can say that the pre 5.0 mysqld didn't put there.
80 lines
2.3 KiB
Text
80 lines
2.3 KiB
Text
drop table if exists t1;
|
|
select 0x41,0x41+0,0x41 | 0x7fffffffffffffff | 0,0xffffffffffffffff | 0 ;
|
|
0x41 0x41+0 0x41 | 0x7fffffffffffffff | 0 0xffffffffffffffff | 0
|
|
A 65 9223372036854775807 18446744073709551615
|
|
select 0x31+1,concat(0x31)+1,-0xf;
|
|
0x31+1 concat(0x31)+1 -0xf
|
|
50 2 -15
|
|
select x'31',X'ffff'+0;
|
|
x'31' X'ffff'+0
|
|
1 65535
|
|
create table t1 (ID int(8) unsigned zerofill not null auto_increment,UNIQ bigint(21) unsigned zerofill not null,primary key (ID),unique (UNIQ) );
|
|
insert into t1 set UNIQ=0x38afba1d73e6a18a;
|
|
insert into t1 set UNIQ=123;
|
|
explain extended select * from t1 where UNIQ=0x38afba1d73e6a18a;
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
1 SIMPLE t1 const UNIQ UNIQ 8 const 1
|
|
Warnings:
|
|
Note 1003 select `test`.`t1`.`ID` AS `ID`,`test`.`t1`.`UNIQ` AS `UNIQ` from `test`.`t1` where 1
|
|
drop table t1;
|
|
select x'hello';
|
|
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 'x'hello'' at line 1
|
|
select 0xfg;
|
|
ERROR 42S22: Unknown column '0xfg' in 'field list'
|
|
create table t1 select 1 as x, 2 as xx;
|
|
select x,xx from t1;
|
|
x xx
|
|
1 2
|
|
drop table t1;
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` varbinary(255) default NULL,
|
|
`b` varchar(255) default NULL
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
|
select length(a), length(b) from t1;
|
|
length(a) length(b)
|
|
255 3
|
|
255 3
|
|
CHECK TABLE t1 FOR UPGRADE;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 check error Table upgrade required. Please do "REPAIR TABLE `t1`" to fix it!
|
|
REPAIR TABLE t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 repair status OK
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` varbinary(255) default NULL,
|
|
`b` varchar(255) default NULL
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
|
select length(a), length(b) from t1;
|
|
length(a) length(b)
|
|
3 3
|
|
3 3
|
|
insert into t1 values("ccc", "ddd");
|
|
select length(a), length(b) from t1;
|
|
length(a) length(b)
|
|
3 3
|
|
3 3
|
|
3 3
|
|
select hex(a), hex(b) from t1;
|
|
hex(a) hex(b)
|
|
616161 636363
|
|
626262 646464
|
|
636363 646464
|
|
select concat("'", a, "'"), concat("'", b, "'") from t1;
|
|
concat("'", a, "'") concat("'", b, "'")
|
|
'aaa' 'ccc'
|
|
'bbb' 'ddd'
|
|
'ccc' 'ddd'
|
|
drop table t1;
|
|
create table t1(a varbinary(255));
|
|
insert into t1 values("aaa ");
|
|
select length(a) from t1;
|
|
length(a)
|
|
6
|
|
alter table t1 modify a varchar(255);
|
|
select length(a) from t1;
|
|
length(a)
|
|
6
|