MYSQL使用局部变量临时存储图像

我正在实现一个存储过程,该存储过程将删除一个条目并将一个新条目替换到同一表中。如果在较新条目中无法使用该图像,则无法保留已存储的图像/斑点,这是我的存储过程

DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `modifyEmployee`(
in pic blob,in eid  varchar(6),in ename varchar(15),in gname varchar(10),in dob date,in doj date,in qual varchar(20),in aadhar char(12),in pan char(10),in bank_acno varchar(18),in ifsc varchar(11),in bname varchar(15),in brname varchar(15),in mobileno char(10),in altno char(10),in praddress varchar(225),in permaddress varchar(225),in dol date,in sslc boolean,in scheck boolean,in pcheck boolean,in gcheck boolean,in agreement boolean,in desig varchar(10),in empcode varchar(10)
)
BEGIN
    Declare phot blob;
    IF(pic IS NULL) THEN 
        select photo into phot from `employee`.`employeeinfo` where `employee_id`=eid;
        DELETE FROM `employee`.`employeeinfo` WHERE (`employee_id` = eid);
    CALL `employee`.`addNewEmp`(phot,eid,ename,gname,dob,doj,qual,aadhar,pan,bank_acno,ifsc,bname,brname,mobileno,altno,praddress,permaddress,dol,sslc,scheck,pcheck,gcheck,agreement,desig,empcode );
    END IF;
    DELETE FROM `employee`.`employeeinfo` WHERE (`employee_id` = eid);
    CALL `employee`.`addNewEmp`(pic,empcode );

END$$
DELIMITER ;

ive尝试了if pic是否为null之类的多种变体

1

Declare phot blob;
    IF(pic IS NULL) THEN 
        set phot (select photo from `employee`.`employeeinfo` where `employee_id`=eid);

2

Declare phot blob;
    IF(pic IS NULL) THEN 
        select photo into phot from `employee`.`employeeinfo` where `employee_id`=eid);

3

IF(pic IS NULL) THEN 
        select photo into pic from `employee`.`employeeinfo` where `employee_id`=eid);

但是结果是我无法保留原始图像。(我知道使用更新语句是最好的主意,但是我无法跟踪所有更改,因此使用更新语句毫无疑问。

cobol_12345 回答:MYSQL使用局部变量临时存储图像

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3145027.html

大家都在问