1
drop table if exists t1,t2;
3
ERROR 42S22: Unknown column 'foo' in 'field list'
4
set @a := connection_id() + 3;
5
select @a - connection_id();
12
CREATE TABLE t1 ( i int not null, v int not null,index (i));
13
insert into t1 values (1,1),(1,3),(2,1);
14
create table t2 (i int not null, unique (i));
15
insert into t2 select distinct i from t1;
20
select distinct t2.i,@vv1:=if(sv1.i,1,0),@vv2:=if(sv2.i,1,0),@vv3:=if(sv3.i,1,0), @vv1+@vv2+@vv3 from t2 left join t1 as sv1 on sv1.i=t2.i and sv1.v=1 left join t1 as sv2 on sv2.i=t2.i and sv2.v=2 left join t1 as sv3 on sv3.i=t2.i and sv3.v=3;
21
i @vv1:=if(sv1.i,1,0) @vv2:=if(sv2.i,1,0) @vv3:=if(sv3.i,1,0) @vv1+@vv2+@vv3
24
explain select * from t1 where i=@vv1;
25
id select_type table type possible_keys key key_len ref rows Extra
26
1 SIMPLE t1 ref i i 4 const 1
27
select @vv1,i,v from t1 where i=@vv1;
31
explain select * from t1 where @vv1:=@vv1+1 and i=@vv1;
32
id select_type table type possible_keys key key_len ref rows Extra
33
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where
34
explain select @vv1:=i from t1 where i=@vv1;
35
id select_type table type possible_keys key key_len ref rows Extra
36
1 SIMPLE t1 index NULL i 4 NULL 3 Using where; Using index
37
explain select * from t1 where i=@vv1;
38
id select_type table type possible_keys key key_len ref rows Extra
39
1 SIMPLE t1 ref i i 4 const 1
42
select @a:=10, @b:=1, @a > @b, @a < @b;
43
@a:=10 @b:=1 @a > @b @a < @b
45
select @a:="10", @b:="1", @a > @b, @a < @b;
46
@a:="10" @b:="1" @a > @b @a < @b
48
select @a:=10, @b:=2, @a > @b, @a < @b;
49
@a:=10 @b:=2 @a > @b @a < @b
51
select @a:="10", @b:="2", @a > @b, @a < @b;
52
@a:="10" @b:="2" @a > @b @a < @b
60
create table t1 (id int, d double, c char(10));
61
insert into t1 values (1,2.0, "test");
65
update t1 SET id=(@c:=@c+1);
72
update t1 set id=(@c:=@c+1);
82
select @d,(@d:=id),@d from t1;
85
select @e,(@e:=d),@e from t1;
88
select @f,(@f:=c),@f from t1;
92
select @g,(@g:=c),@g from t1;
95
select @c, @d, @e, @f;
98
select @d:=id, @e:=id, @f:=id, @g:=@id from t1;
99
@d:=id @e:=id @f:=id @g:=@id
101
select @c, @d, @e, @f, @g;
105
select @a:=10, @b:=2, @a>@b, @a:="10", @b:="2", @a>@b, @a:=10, @b:=2, @a>@b, @a:="10", @b:="2", @a>@b;
106
@a:=10 @b:=2 @a>@b @a:="10" @b:="2" @a>@b @a:=10 @b:=2 @a>@b @a:="10" @b:="2" @a>@b
107
10 2 1 10 2 1 10 2 1 10 2 1
108
create table t1 (i int not null);
109
insert t1 values (1),(2),(2),(3),(3),(3);
113
select @a, @a:=@a+count(*), count(*), @a from t1 group by i;
114
@a @a:=@a+count(*) count(*) @a
121
select @a+0, @a:=@a+0+count(*), count(*), @a+0 from t1 group by i;
122
@a+0 @a:=@a+0+count(*) count(*) @a+0
127
select @a,@a:="hello",@a,@a:=3,@a,@a:="hello again" from t1 group by i;
128
@a @a:="hello" @a @a:=3 @a @a:="hello again"
129
0 hello 0 3 0 hello again
130
0 hello 0 3 0 hello again
131
0 hello 0 3 0 hello again
132
select @a,@a:="hello",@a,@a:=3,@a,@a:="hello again" from t1 group by i;
133
@a @a:="hello" @a @a:=3 @a @a:="hello again"
134
hello again hello hello again 3 hello again hello again
135
hello again hello hello again 3 hello again hello again
136
hello again hello hello again 3 hello again hello again
138
set @a=_latin2'test';
139
select charset(@a),collation(@a),coercibility(@a);
140
charset(@a) collation(@a) coercibility(@a)
141
latin2 latin2_general_ci 2
142
select @a=_latin2'TEST';
145
select @a=_latin2'TEST' collate latin2_bin;
146
@a=_latin2'TEST' collate latin2_bin
148
set @a=_latin2'test' collate latin2_general_ci;
149
select charset(@a),collation(@a),coercibility(@a);
150
charset(@a) collation(@a) coercibility(@a)
151
latin2 latin2_general_ci 2
152
select @a=_latin2'TEST';
155
select @a=_latin2'TEST' collate latin2_bin;
156
@a=_latin2'TEST' collate latin2_bin
158
select charset(@a:=_latin2'test');
159
charset(@a:=_latin2'test')
161
select collation(@a:=_latin2'test');
162
collation(@a:=_latin2'test')
164
select coercibility(@a:=_latin2'test');
165
coercibility(@a:=_latin2'test')
167
select collation(@a:=_latin2'test' collate latin2_bin);
168
collation(@a:=_latin2'test' collate latin2_bin)
170
select coercibility(@a:=_latin2'test' collate latin2_bin);
171
coercibility(@a:=_latin2'test' collate latin2_bin)
173
select (@a:=_latin2'test' collate latin2_bin) = _latin2'TEST';
174
(@a:=_latin2'test' collate latin2_bin) = _latin2'TEST'
176
select charset(@a),collation(@a),coercibility(@a);
177
charset(@a) collation(@a) coercibility(@a)
179
select (@a:=_latin2'test' collate latin2_bin) = _latin2'TEST' collate latin2_general_ci;
180
(@a:=_latin2'test' collate latin2_bin) = _latin2'TEST' collate latin2_general_ci
183
select FIELD( @var,'1it','Hit') as my_column;
186
select @v, coercibility(@v);
189
set @v1=null, @v2=1, @v3=1.1, @v4=now();
190
select coercibility(@v1),coercibility(@v2),coercibility(@v3),coercibility(@v4);
191
coercibility(@v1) coercibility(@v2) coercibility(@v3) coercibility(@v4)
193
set session @honk=99;
194
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 '@honk=99' at line 1
195
set one_shot @honk=99;
196
ERROR HY000: The 'SET ONE_SHOT' syntax is reserved for purposes internal to the MySQL server
197
select @@local.max_allowed_packet;
198
@@local.max_allowed_packet
200
select @@session.max_allowed_packet;
201
@@session.max_allowed_packet
203
select @@global.max_allowed_packet;
204
@@global.max_allowed_packet
206
select @@max_allowed_packet;
209
select @@Max_Allowed_Packet;
215
select @@global.version;
219
set @first_var= NULL;
220
create table t1 select @first_var;
221
show create table t1;
223
t1 CREATE TABLE `t1` (
224
`@first_var` longblob
225
) ENGINE=MyISAM DEFAULT CHARSET=latin1
227
set @first_var= cast(NULL as signed integer);
228
create table t1 select @first_var;
229
show create table t1;
231
t1 CREATE TABLE `t1` (
232
`@first_var` bigint(20) DEFAULT NULL
233
) ENGINE=MyISAM DEFAULT CHARSET=latin1
235
set @first_var= NULL;
236
create table t1 select @first_var;
237
show create table t1;
239
t1 CREATE TABLE `t1` (
240
`@first_var` bigint(20) DEFAULT NULL
241
) ENGINE=MyISAM DEFAULT CHARSET=latin1
243
set @first_var= concat(NULL);
244
create table t1 select @first_var;
245
show create table t1;
247
t1 CREATE TABLE `t1` (
248
`@first_var` longblob
249
) ENGINE=MyISAM DEFAULT CHARSET=latin1
252
set @first_var= cast(NULL as CHAR);
253
create table t1 select @first_var;
254
show create table t1;
256
t1 CREATE TABLE `t1` (
257
`@first_var` longtext
258
) ENGINE=MyISAM DEFAULT CHARSET=latin1
260
set @a=18446744071710965857;
264
CREATE TABLE `bigfailure` (
265
`afield` BIGINT UNSIGNED NOT NULL
267
INSERT INTO `bigfailure` VALUES (18446744071710965857);
268
SELECT * FROM bigfailure;
271
select * from (SELECT afield FROM bigfailure) as b;
274
select * from bigfailure where afield = (SELECT afield FROM bigfailure);
277
select * from bigfailure where afield = 18446744071710965857;
280
select * from bigfailure where afield = 18446744071710965856+1;
283
SET @a := (SELECT afield FROM bigfailure);
287
SET @a := (select afield from (SELECT afield FROM bigfailure) as b);
291
SET @a := (select * from bigfailure where afield = (SELECT afield FROM bigfailure));
295
drop table bigfailure;
296
create table t1(f1 int, f2 int);
297
insert into t1 values (1,2),(2,3),(3,1);
298
select @var:=f2 from t1 group by f1 order by f2 desc limit 1;
304
create table t2 as select @var:=f2 from t1 group by f1 order by f2 desc limit 1;
312
insert into city 'blah';
313
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 ''blah'' at line 1
314
SHOW COUNT(*) WARNINGS;
315
@@session.warning_count
317
SHOW COUNT(*) ERRORS;
318
@@session.error_count
320
create table t1(f1 int, f2 varchar(2), f3 float, f4 decimal(2,1));
321
insert into t1 values
322
(1, "a", 1.5, 1.6), (1, "a", 1.5, 1.6), (2, "b", 2.5, 2.6),
323
(3, "c", 3.5, 3.6), (4, "d", 4.5, 4.6), (1, "a", 1.5, 1.6),
324
(3, "c", 3.5, 3.6), (1, "a", 1.5, 1.6);
325
select @a:=f1, count(f1) from t1 group by 1 desc;
331
select @a:=f1, count(f1) from t1 group by 1 asc;
337
select @a:=f2, count(f2) from t1 group by 1 desc;
343
select @a:=f3, count(f3) from t1 group by 1 desc;
349
select @a:=f4, count(f4) from t1 group by 1 desc;
356
create table t1 (f1 int);
357
insert into t1 values (2), (1);
358
select @i := f1 as j from t1 order by 1;
363
create table t1(a int);
364
insert into t1 values(5),(4),(4),(3),(2),(2),(2),(1);
367
set @prev_score := NULL;
368
select @rownum := @rownum + 1 as row,
369
@rank := IF(@prev_score!=a, @rownum, @rank) as rank,
370
@prev_score := a as score
371
from t1 order by score desc;