drop table if exists t1,t2; create table t1 ( a int primary key, b char(10) ); insert into t1 values (1,'one'); insert into t1 values (2,'two'); insert into t1 values (3,'three'); insert into t1 values (4,'four'); set @a=2; prepare stmt1 from 'select * from t1 where a <= ?'; execute stmt1 using @a; a b 1 one 2 two set @a=3; execute stmt1 using @a; a b 1 one 2 two 3 three deallocate prepare no_such_statement; ERROR HY000: Unknown prepared statement handler (no_such_statement) given to DEALLOCATE PREPARE execute stmt1; ERROR HY000: Wrong arguments to EXECUTE prepare stmt2 from 'prepare nested_stmt from "select 1"'; 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 '"select 1"' at line 1 prepare stmt2 from 'execute stmt1'; 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 'stmt1' at line 1 prepare stmt2 from 'deallocate prepare z'; 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 'z' at line 1 prepare stmt3 from 'insert into t1 values (?,?)'; set @arg1=5, @arg2='five'; execute stmt3 using @arg1, @arg2; select * from t1 where a>3; a b 4 four 5 five prepare stmt4 from 'update t1 set a=? where b=?'; set @arg1=55, @arg2='five'; execute stmt4 using @arg1, @arg2; select * from t1 where a>3; a b 4 four 55 five prepare stmt4 from 'create table t2 (a int)'; execute stmt4; prepare stmt4 from 'drop table t2'; execute stmt4; execute stmt4; ERROR 42S02: Unknown table 't2' prepare stmt5 from 'select ? + a from t1'; set @a=1; execute stmt5 using @a; ? + a 2 3 4 5 56 execute stmt5 using @no_such_var; ? + a NULL NULL NULL NULL NULL set @nullvar=1; set @nullvar=NULL; execute stmt5 using @nullvar; ? + a NULL NULL NULL NULL NULL set @nullvar2=NULL; execute stmt5 using @nullvar2; ? + a NULL NULL NULL NULL NULL prepare stmt6 from 'select 1; select2'; 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 '; select2' at line 1 prepare stmt6 from 'insert into t1 values (5,"five"); select2'; 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 '; select2' at line 1 explain prepare stmt6 from 'insert into t1 values (5,"five"); select2'; 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 'from 'insert into t1 values (5,"five"); select2'' at line 1 create table t2 ( a int ); insert into t2 values (0); set @arg00=NULL ; prepare stmt1 from 'select 1 FROM t2 where a=?' ; execute stmt1 using @arg00 ; 1 prepare stmt1 from @nosuchvar; 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 'NULL' at line 1 set @ivar= 1234; prepare stmt1 from @ivar; 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 '1234' at line 1 set @fvar= 123.4567; prepare stmt1 from @fvar; 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 '123.4567' at line 1 set @str1 = 'select ?'; set @str2 = convert(@str1 using ucs2); prepare stmt1 from @str2; execute stmt1 using @ivar; ? 1234 drop table t1,t2;