繁体   English   中英

与jdbc一起使用的存储过程无法正常工作

[英]Store procedure used with jdbc, can't get it working

我已经尝试了大约2个小时,但无法正常工作,因此需要您的帮助。

我正在制作一个JavaFX应用程序,它使用存储过程在MySQL数据库中进行更改。 好吧,我需要一个存储过程,该过程接收6个参数,并根据寄存器是否存在进行更新或插入。

我收到语法错误,它不在乎我尝试什么。 这是我的存储过程,现在它说UPDATE附近有错误:

DELIMITER $$

CREATE PROCEDURE `contactos`.`sp_guardar1` (IN foto varchar(100), IN nombres varchar(45), IN correo varchar(45), IN telf varchar(45), IN estado INT)

BEGIN

DECLARE IdAmi INT;

SET IdAmi = IdAmigo;


IF EXISTS (SELECT * FROM amigo WHERE IdAmigo = IdAmi)

            UPDATE amigo SET foto = foto, nombres = nombres, correo = correo, telf = telf, estado = estado WHERE IdAmigo = @IdAmi
    ELSE
            INSERT INTO amigo(foto, nombres, correo, telf, estado) VALUES( foto, nombres, correo, telf, estado )
END

请帮忙 :)

您的IF语句缺少关键字THEN 它应该是

IF EXISTS (SELECT * FROM amigo WHERE IdAmigo = IdAmi)
THEN  --<-- correction here
  UPDATE amigo
    SET foto = foto, nombres = nombres, correo = correo,
      telf = telf, estado = estado
    WHERE IdAmigo = @IdAmi
ELSE
  INSERT INTO amigo(foto, nombres, correo, telf, estado)
    VALUES( foto, nombres, correo, telf, estado )
END

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM