Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySql更新过程错误_Mysql_Stored Procedures_Procedures - Fatal编程技术网

MySql更新过程错误

MySql更新过程错误,mysql,stored-procedures,procedures,Mysql,Stored Procedures,Procedures,我的更新查询有问题。我需要让它工作:P 该过程选择需要重新创建的所有重复记录以选择和更新值 DELIMITER $$ USE `bgw_r`$$ DROP PROCEDURE IF EXISTS `tpl_pobierz_dodane`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `tpl_pobierz_dodane`(puzytkownik VARCHAR(50), psesja VARCHAR(50)) BEGIN SELECT a.`id`

我的更新查询有问题。我需要让它工作:P

该过程选择需要重新创建的所有重复记录以选择和更新值

DELIMITER $$
USE `bgw_r`$$
DROP PROCEDURE IF EXISTS `tpl_pobierz_dodane`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `tpl_pobierz_dodane`(puzytkownik VARCHAR(50), psesja VARCHAR(50))
BEGIN
SELECT a.`id` AS idd FROM `paliwa_temp` AS a INNER JOIN `paliwo_fv` AS b 
ON (a.`numerRejestracyjny` = b.`numer_rejestracyjny`)
WHERE a.`sesja` = psesja AND b.`data_tankowania` = a.`dataTankowania` AND a.`iloscPaliwa` = b.`wydano_litry`; # GROUP BY id
END$$
DELIMITER ;
或创建其他更新该值的过程:

DELIMITER $$
USE `bgw_r`$$
DROP PROCEDURE IF EXISTS `tpl_ustaw_jako_duplikaty`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `tpl_ustaw_jako_duplikaty`(puzytkownik VARCHAR(50), psesja VARCHAR(50))
BEGIN
UPDATE a
    SET a.`duplikat` = "true"
    FROM `paliwa_temp` AS a
    INNER JOIN `paliwo_fv` AS b
    ON( b.`numer_rejestracyjny` = a.`numerRejestracyjny`)
    WHERE a.`sesja` = psesja AND b.`data_tankowania` = a.`dataTankowania` AND a.`iloscPaliwa` = b.`wydano_litry`;
END$$
DELIMITER ;
更新查询中出错: 错误代码:1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `paliwa_temp` as a
    INNER JOIN `paliwo_fv` as b
    on( b.`numer_rejestracyjny' at line 5

不知道为什么:/

正确的join update语句应该是

update paliwa_temp a
INNER JOIN `paliwo_fv` AS b
ON( b.`numer_rejestracyjny` = a.`numerRejestracyjny`)
SET a.`duplikat` = "true"
WHERE a.`sesja` = psesja 
AND b.`data_tankowania` = a.`dataTankowania` 
AND a.`iloscPaliwa` = b.`wydano_lit

使用联接更新的语法必须为:

UPDATE  `paliwa_temp` AS a
INNER JOIN `paliwo_fv` AS b
    ON( b.`numer_rejestracyjny` = a.`numerRejestracyjny`)
    SET a.`duplikat` = "true"
          WHERE a.`sesja` = psesja AND b.`data_tankowania` = a.`dataTankowania` AND a.`iloscPaliwa` = b.`wydano_litry`;

感谢您抽出时间: