码迷,mamicode.com
首页 > 数据库 > 详细

mysql存储过程的参数名不要跟字段名一样 (血淋淋的代价)

时间:2015-11-06 06:43:25      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

如题,将会导致的结果就是参数的值将不会是你传入的值,而是变成每条记录的那个字段的值。
这样的后果,技术分享是灰常严重的。比如执行删除操作,它能把整个表的记录全删了。
技术分享这个是我的血淋淋的代价啊。

死坑如下,勿跳:

    1. DELIMITER $$  
    2.   
    3. USE `b10k`$$  
    4.   
    5. DROP PROCEDURE IF EXISTS `sp_delete_species`$$  
    6.   
    7. CREATE DEFINER=`luth`@`%` PROCEDURE `sp_delete_species`(  
    8.     IN  species_id  INT,        /*物种ID*/  
    9.     OUT     out_rows        INT         /*受影响行数*/  
    10.     )  
    11. BEGIN  
    12.     DELETE FROM `sample` WHERE `species_ID` = species_id ;  
    13.     DELETE FROM `filepath` WHERE `species_ID` = species_id ;  
    14.     DELETE FROM `species` WHERE `species_ID` = species_id ;  
    15.     SET out_rows = ROW_COUNT();  
    16.     END$$  
    17.   
    18. DELIMITER ; 

mysql存储过程的参数名不要跟字段名一样 (血淋淋的代价)

标签:

原文地址:http://www.cnblogs.com/caicaizi/p/4941363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!