2011-05-06 124 views
0

我可以传递一个sql条件字符串作为参数给SP并在里面执行吗?我想回到没有。插入的行也是......但为什么它不工作?需要Mysql存储函数帮助

phpmyadmin的说.. **#1064 - 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 'WhereCond;**

DELIMITER // 
    DROP FUNCTION IF EXISTS ExecSQL // 
    CREATE FUNCTION ExecSQL(WhereCond text) RETURNS INT DETERMINISTIC 
    BEGIN 
     INSERT INTO myTable WhereCond; 

     return ROW_COUNT(); 
    END // 

我在PHP WhereCond是

$WhereCond = " (ID, Name) VALUES (556, 'Suraj')"; 

我只是用的SP打,所以不介意,如果这些问题听起来愚蠢

回答

1

它不起作用,因为您无法将一部分sql查询作为存储函数的参数。

什么你试图在这里做的是:

INSERT INTO myTable "(ID, Name) VALUES (556, 'Suraj')"; 

这显然不是一个有效的SQL查询。