挿入されていない場合に値を挿入しようとしています。それ以外の場合は、そのフィールドの一部を更新しようとしています。使用される変数は 1 つだけです。ストア プロシージャを呼び出しても値は挿入されませんが、1 行が挿入されていることが示されます。初めてSPを試してみてください。
これは私のストアドプロシージャです
CREATE DEFINER=`root`@`localhost` PROCEDURE `InsertLocation`(in IpAddress varchar(45))
BEGIN
if (SELECT count(*) as count
FROM mbuzzz.location_byhits
where IpAddress = IpAddress
having count>0)
then
UPDATE location_byhits SET Hits=Hits+1 where IpAddress=IpAddress;
else
insert into location_byhits(IpAddress,Date_current)
values (IpAddress,CURTIME());
End if ;
end