MySQL 存储过程传参数实现where id in(1,2,3,...)实例效果

  • 更新时间:2020-01-29 12:07:28
  • 编辑:贺高邈
正常写法:
 

select * from table_name t where t.field1 in (1,2,3,4,...);

当在写存储过程in里面的列表用个传入参数代入的时候,就需要用到如下方式:

主要用到find_in_set函数
 

select * from table_name t where find_in_set(t.field1,'1,2,3,4');

当然还可以比较笨实的方法,就是组装字符串,然后执行:
 

DROP PROCEDURE IF EXISTS photography.Proc_Test;
CREATE PROCEDURE photography.`Proc_Test`(param1 varchar(1000))
BEGIN
set @id = param1;
set @sel = 'select * from access_record t where t.ID in (';
set @sel_2 = ')';
set @sentence = concat(@sel,@id,@sel_2); -- 连接字符串生成要执行的SQL语句
prepare stmt from @sentence; -- 预编释一下。 “stmt”预编释变量的名称,
execute stmt; -- 执行SQL语句
deallocate prepare stmt; -- 释放资源
END;

相关教程

  • MySQL实现两张表数据的同步

    本文将介绍mysql 触发器实现两个表的数据同步,需要学习MySQL的童鞋可以参考。

    发布时间:2019-06-05

  • Mysql的语句生成后门木马的方法

    这篇文章主要介绍了Mysql的语句生成后门木马的方法,大家不要随意搞破坏哦,小伙伴们学习下就好了。

    发布时间:2019-07-23

  • 高性能MySQL

    高性能MySQL

    大小:392 MBMySQL电子书

  • PHP+MySQL程序设计及项目开发

    PHP+MySQL程序设计及项目开发

    大小:105.1MBPHP+MySQL

  • MySQL DBA修炼之道

    MySQL DBA修炼之道

    MySQL DBA修炼之道 以实战讲解为主,摒弃了生产实践中不常用的知识和技术。书中内容主要分为5部分。第壹部分介绍MySQL的应用领域和适用场景、基础架构、常见生产环境部署方式,以及MySQL安

    大小:4.9 MBMySQL电子书

  • MySQL必知必会

    MySQL必知必会

    大小:5.7 MBMySQL电子书

  • MySQL与MariaDB学习指南

    MySQL与MariaDB学习指南

    MySQL与MariaDB学习指南 使读者不仅能够深入了解MySQL这种主流数据库,还能全面掌握作为开源数据库新秀的MariaDB的使用方法。书中内容由浅至深、层层深入,从分步介绍如何安装MySQL和MariaDB,到

    大小:68.9 MB数据库电子书

  • MySQL从入门到项目实践

    MySQL从入门到项目实践

    MySQL从入门到项目实践 (超值版)采用基本知识关键运用关键技术高級运用应用领域新项目实践活动构造和循序渐进,由深到精的学习方式开展解读。本书分成6篇29章。最先解读MySQL的安裝与配备

    大小:314.8 MBMySQL电子书

  • PHP和MySQL Web开发(第4版)

    PHP和MySQL Web开发(第4版)

    《PHP和MySQL Web开发》将PHP开发与MySQL应用相结合,分别对PHP和MySQL做了深入浅出的分析,不仅介绍PHP和MySQL的一般概念,而且对PHP和MySQL的Web应用做了较全面的阐述,并包括几个经典且实用的例子

    大小:51.6 MBWeb开发电子书

用户留言