求助Mysql 存储过程 更新表问题

如题所述

CREATE DEFINER = CURRENT_USER FUNCTION `NewProc`(`url` varchar,`id` int,`cataLogType` int,`parentID` int,`parentType` int,`caption` varchar)
RETURNS int(32)
BEGIN
DECLARE iCount int DEFAULT 0 ;
iCount = SELECT COUNT(*) FROM catalog WHERE url = url;
IF iCount == 0 THEN
INSERT INTO catalog VALUES(url,id,cataLogType,parentID,parentType,caption);
RETURN 1;
ELSE
UPDATE catalog SET id=id,cataLogType=cataLogType,parentID=parentID,parentType=parentType,caption=caption WHERE url=url;
RETURN 0;
END IF;

END;;
//问题是保存上面的存储过处出错。

提示: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 'id' int ......
可能是ID是关键字,不让用,请问是不是这个回事呢?

上面是我的存储过程,catalog是一个表名。有字段url,id,cataLogType,parentID,parentType,caption
我的参数是
MySqlParameter[] pramsCatalog ={new MySqlParameter(@"?url", MySqlDbType.VarChar,256),
new MySqlParameter(@"?id",MySqlDbType.Int32),
new MySqlParameter(@"?cataLogType",MySqlDbType.Int32),
new MySqlParameter(@"?parentID",MySqlDbType.Int32),
new MySqlParameter(@"?parentType", MySqlDbType.Int32),
new MySqlParameter(@"?caption",MySqlDbType.VarChar,256)};
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-15
是update吗
第2个回答  2015-06-19
具体什么问题!
相似回答