voucher表里有数据 id677
678
679
680CREATE DEFINER=`root`@`localhost` PROCEDURE `account_post_voucher`(vchID varchar(255))
BEGINselect id from voucher where id in (vchID) ;END;
call account_post_voucher('677,678,679') ;
在SQL编辑器里执行的结果是 677
没有显示到 678,679 而在SQL编辑器直接执行 select id from voucher where id in (677,678,679);
显示结果 677,678,679 结果正常 为什么会这样的? 参数编码有问题?
678
679
680CREATE DEFINER=`root`@`localhost` PROCEDURE `account_post_voucher`(vchID varchar(255))
BEGINselect id from voucher where id in (vchID) ;END;
call account_post_voucher('677,678,679') ;
在SQL编辑器里执行的结果是 677
没有显示到 678,679 而在SQL编辑器直接执行 select id from voucher where id in (677,678,679);
显示结果 677,678,679 结果正常 为什么会这样的? 参数编码有问题?
select id from voucher where FIND_IN_SET(id,vchID);
set @sql=concat('select id from voucher where id in (''',vchID,''')');
prepare stmt from @sql;
execute stmt;