MySQL的prepare用法主要有以下几种:
- 使用PREPARE语句准备一个动态SQL语句。例如:
PREPARE stmt FROM 'SELECT * FROM table WHERE column = ?';
- 使用EXECUTE语句执行之前准备的动态SQL语句。例如:
SET @param = 'value'; EXECUTE stmt USING @param;
- 使用DEALLOCATE PREPARE语句释放之前准备的动态SQL语句。例如:
DEALLOCATE PREPARE stmt;
- 在PREPARE语句中使用占位符来动态设置查询条件。例如:
SET @param = 'value'; PREPARE stmt FROM 'SELECT * FROM table WHERE column = ?'; EXECUTE stmt USING @param;
- 使用PREPARE语句准备一个动态更新语句。例如:
SET @param1 = 'value1'; SET @param2 = 'value2'; PREPARE stmt FROM 'UPDATE table SET column1 = ? WHERE column2 = ?'; EXECUTE stmt USING @param1, @param2;
需要注意的是,使用PREPARE语句时,占位符必须使用问号(?)来表示。而使用EXECUTE语句时,可以使用用户定义的变量来替代占位符。