mysql 語句傳參數 — prepare語句的用法
- 2019 年 12 月 18 日
- 筆記
mysql默認在語句是不能傳參數的,例如 select * from a limit @a,@b;這樣是會報錯的,那怎麼樣才能傳參數呢?
這就需要用到prepare了,以下示例運行在存儲過程
PREPARE statement_name FROM preparable_SQL_statement;/*定義*/ EXECUTE statement_name [USING @var_name [, @var_name] ...]; /*執行預處理語句*/ {DEALLOCATE | DROP} PREPARE statement_name /*刪除定義*/ ; -- 實例 set @a=1; set @b=10; PREPARE s1 FROM 'select * from a limit ?,?'; EXECUTE s1 USING @a,@b; DEALLOCATE PREPARE s1;
是不是很簡單?只要在需要傳參數的地方寫成一個?符號,不需要加引號,然後只要一個一個按照順序填在using後面按逗號分隔就行了