mysql升级,以前4.0,没用过存储过程
现在升级5.x了,终于可以用了
但是使用中发现一个问题
Create PROC t
BEGIN
set @a = 'tt';
set @sql = 'select  * from ?';
PREPARE s from @sql;
EXECUTE s using @a;
        DEALLOCATE PREPARE s;
end
这样的就会报错,也就是说 在 @sql中的 ? 认不出来如果@sql的值不是sql语句,而是普通的字符串,就没有这个问题,如:
Create PROC t
BEGIN
set @a = 'tt';
set @sql = 'select ?';
PREPARE s from @sql;
EXECUTE s using @a;
        DEALLOCATE PREPARE s;
end
这个就能整整的显示出来,显示 tt猜想可能是由于@sql 值为sql语句的问题,哦,就是传说中的预制sql语句
应该怎么样解决呢?
这个参数怎么才能传入呢?
先在这里感谢大家了。