MySQL Update Statement在存储过程中不起作用

时间:2013-12-08 10:23:05

标签: mysql

我有一个简单的MySQL MySQL更新语句。当我单独运行时,它工作正常。

UPDATE 
temp_student 
INNER JOIN student 
ON temp_student.card = student.card 
SET studentid = student.id;

但是当我把它放在存储过程中时,表中没有任何行被更新。任何人都可以提供线索?谢谢。

DELIMITER $$

USE `eceintern2`$$

DROP PROCEDURE IF EXISTS `copy_from_temp_student`$$

CREATE DEFINER = `root` @`localhost` PROCEDURE `copy_from_temp_student` () 
BEGIN
  UPDATE 
    temp_student 
    INNER JOIN student 
      ON temp_student.card = student.card 
      SET studentid = student.id;
END $$

DELIMITER ;

1 个答案:

答案 0 :(得分:0)

语法似乎没问题。

DELIMITER $$

CREATE PROCEDURE `copy_from_temp_student`()
BEGIN
    UPDATE `temp_student` 
        INNER JOIN `student` ON `temp_student`.`card` = `student`.`card`
    SET `temp_student`.`studentid` = `student`.`id`;
END */$$

DELIMITER ;

SQL Fiddle demo