任何人都可以帮我解决这个JSP问题。 我试图使用类似于此的代码更新数据库:
所以,我在我的Servlet上有这个:
String QueryCondition = "id = 1";
将传递给此存储过程:
CREATE
DEFINER=`root`@`localhost`
PROCEDURE `storedprocedure_1`(QueryCondition TEXT)
BEGIN
UPDATE users SET name = 'John'
WHERE QueryCondition;
END
我在想这是否可行,因为更新总是失败 如果这不可能你能推荐我怎么做这样的事情
答案 0 :(得分:0)
您可以在存储过程中使用它,但使用预准备语句。
示例:
DELIMITER //
CREATE
DEFINER=root@localhost
PROCEDURE storedprocedure_1(QueryCondition TEXT)
BEGIN
SET @query := CONCAT( 'UPDATE users SET name = \'John\' WHERE ',
QueryCondition );
PREPARE stmt FROM @query;
EXECUTE stmt;
DROP PREPARE stmt;
END;
//
DELIMITER ;