求助Mysql 存储过程 更新表问题
发布网友
发布时间:2022-04-09 11:29
我来回答
共3个回答
热心网友
时间:2022-04-09 12:58
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)};
热心网友
时间:2022-04-09 14:16
具体什么问题!
热心网友
时间:2022-04-09 15:51
是update吗