2015-10-15 36 views
0

MySQL程序正在更新所有3條記錄並且無法執行條件。MySql程序正在更新錯誤條件

我有三個記錄分支id = 1,2,3和三個記錄相同的UID表。而且我基於分支ID更新,但我的查詢正在更新所有3條記錄。
任何幫助plzzz。

CREATE DEFINER=`root`@`localhost` PROCEDURE `update_scheduler_minmax`(
    IN minVolt DOUBLE, 
    IN min_volt_time timestamp, 
    IN branch int) 
BEGIN 
    UPDATE min_max SET 
     MIN_VOLT = minVolt, 
     MIN_VOLT_TIME = min_volt_time   
     WHERE BRANCH = branch AND DEVICE_ID = 'XXXXXXXXXXXXXUID'; 
END 
+1

變化的參數名稱是從列名不同。例如p_min_volt,p_min_volt_time,p_branch。 – fredt

+0

如果我也更改名稱,分支正在創建問題 –

回答

1

嘗試:

DELIMITER $$ 

CREATE DEFINER=`root`@`localhost` PROCEDURE `update_scheduler_minmax`(
    IN `_minVolt` DOUBLE, 
    IN `_min_volt_time` timestamp, 
    IN `_branch` int) 
BEGIN 
    UPDATE `min_max` 
    SET `MIN_VOLT` = `_minVolt`, `MIN_VOLT_TIME` = `_min_volt_time`  
    WHERE `BRANCH` = `_branch` AND `DEVICE_ID` = 'XXXXXXXXXXXXXUID'; 
END$$ 

DELIMITER ;