Mysql存储过程需要引号才能处理输入var。我该怎么做呢?

时间:2018-03-20 11:38:10

标签: mysql stored-procedures

我有一个恼人的问题,如果我手动执行以下操作,它可以正常工作。

SELECT * FROM data
WHERE ip = '10.0.0.1'
LIMIT 10

然而,如果我把它放在存储过程中。 它失败了,因为WHERE需要引号?

例如,如果我创建以下存储的PROC。

CREATE DEFINER=`root`@`localhost` PROCEDURE `GetData`(IN `_ownerip` VARCHAR(32) CHARSET utf32)
    NO SQL
SELECT * FROM data
WHERE ip = _ownerip
LIMIT 10

失败了。

它就像_ownerip需要像'_ownerip'而不是没有引号。

然而,如果我引用它,那就失败了。 我试过“和反击”

无法弄清楚该怎么做。

有什么想法吗?

0 个答案:

没有答案