mysql儲存過程的引數名不要跟欄位名一樣

2021-12-30 00:23:18 字數 722 閱讀 2588

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 ;

mysql儲存過程的引數名不要跟欄位名一樣

如題,將會導致的結果就是引數的值將不會是你傳入的值,而是變成每條記錄的那個欄位的值。這樣的後果,死坑如下,勿跳 delimiter use b10k drop procedure if exists sp delete species create definer luth procedure sp...

MySQL儲存過程的引數

mysql儲存過程的引數用在儲存過程的定義,共有三種引數型別,in,out,inout,形式如 create procedure in out inout 引數名 資料類形.in 輸入引數 表示該引數的值必須在呼叫儲存過程時指定,在儲存過程中修改該引數的值不能被返回,為預設值 out 輸出引數 該值...

mysql儲存過程引數比較

引數 mysql儲存過程的引數用在儲存過程的定義,共有三種引數型別,in,out,inout in 輸入引數 表示該引數的值必須在呼叫儲存過程時指定,在儲存過程中修改該引數的值不能被返回,為預設值 out 輸出引數 該值可在儲存過程內部被改變,並可返回 inout 輸入輸出引數 呼叫時指定,並且可被...