# # test variables # drop table if exists t1; set @`test`=1,@TEST=3,@select=2,@t5=1.23456; select @test,@`select`,@TEST,@not_used; set @test_int=10,@test_double=1e-10,@test_string="abcdeghi",@test_string2="abcdefghij",@select=NULL; select @test_int,@test_double,@test_string,@test_string2,@select; set @test_int="hello",@test_double="hello",@test_string="hello",@test_string2="hello"; select @test_int,@test_double,@test_string,@test_string2; set @test_int="hellohello",@test_double="hellohello",@test_string="hellohello",@test_string2="hellohello"; select @test_int,@test_double,@test_string,@test_string2; set @test_int=null,@test_double=null,@test_string=null,@test_string2=null; select @test_int,@test_double,@test_string,@test_string2; select @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3; select @t5; # # Test problem with WHERE and variables # CREATE TABLE t1 (c_id INT(4) NOT NULL, c_name CHAR(20), c_country CHAR(3), PRIMARY KEY(c_id)); INSERT INTO t1 VALUES (1,'Bozo','USA'),(2,'Ronald','USA'),(3,'Kinko','IRE'),(4,'Mr. Floppy','GB'); SELECT @min_cid:=min(c_id), @max_cid:=max(c_id) from t1; SELECT * FROM t1 WHERE c_id=@min_cid OR c_id=@max_cid; SELECT * FROM t1 WHERE c_id=@min_cid OR c_id=@max_cid OR c_id=666; ALTER TABLE t1 DROP PRIMARY KEY; select * from t1 where c_id=@min_cid OR c_id=@max_cid; drop table t1; # # Test system variables # select @@VERSION=version(); select last_insert_id(345); select @@IDENTITY,last_insert_id(); select @@identity; --error 1193 select @@unknown_variable;