簡體   English   中英

MySQL中的存儲過程語法錯誤

[英]Stored procedure syntax error in MySQL

我正在搜索錯誤兩個小時,但到目前為止找不到:

CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_diffmod`
     (IN para_diffmod LONGTEXT, 
      IN para_link LONGTEXT)
BEGIN

IF EXIT (
    SELECT website_link FROM diffmod WHERE website_link=para_link
    )THEN 
    DELETE FROM diffmod WHERE website_link=para_link;

ELSE
    INSERT INTO diffmod(website_id,website_link)
    SELECT id,link
    FROM   site_html
    Where  link=para_link;

    UPDATE diffmod
    SET diffmod_content= para_diffmod
    where website_link = para_link;

END IF; 
END

上面的存儲過程就像找到鏈接一樣工作,它將刪除該行! 如果沒有,它將添加並更新新鏈接。

將“退出”更改為“如果存在”

CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_diffmod`( 
IN para_diffmod LONGTEXT, 
IN para_link LONGTEXT)
BEGIN

IF EXISTS (
    SELECT website_link FROM diffmod WHERE website_link=para_link
    )THEN 
    DELETE FROM diffmod WHERE website_link=para_link;

ELSE
    INSERT INTO diffmod(website_id,website_link)
    SELECT id,link
    FROM   site_html
    Where  link=para_link;

    UPDATE diffmod
    SET diffmod_content= para_diffmod
    where website_link = para_link;

END IF; 
END

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM