mysql存儲過程的參數名不要跟字段名一樣 如題,將會導致的結果就是參數的值將不會是你傳入的值,而是變成每條記錄的那個字段的值。 這樣的後果,是灰常嚴重的。比如執行刪除操作,它能把整個表的記錄全刪了。 這個是我的血淋淋的代價啊。 死坑如下,勿跳:
[sql]
DELIMITER $$
USE `b10k`$$
DROP PROCEDURE IF EXISTS `sp_delete_species`$$
CREATE DEFINER=`luth`@`%` PROCEDURE `sp_delete_species`(
IN species_id INT, /*物種ID*/
OUT out_rows INT /*受影響行數*/
)
BEGIN
DELETE FROM `sample` WHERE `species_ID` = species_id ;
DELETE FROM `filepath` WHERE `species_ID` = species_id ;
DELETE FROM `species` WHERE `species_ID` = species_id ;
SET out_rows = ROW_COUNT();
END$$
DELIMITER ;