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 ;