1在MySQL中创建存储过程

a 我将添加和修改 作为 一起

CREATE DEFINER=`root`@`%` PROCEDURE `p_boss_role_save`(IN `_id`   CHAR(36),      IN `in_league_id` char(36),      IN `in_name` varchar(255),       IN `in_description` varchar(255))
BEGIN
IF EXISTS (SELECT 1 FROM t_boss_role WHERE id = _id)
THEN
UPDATE t_boss_role SET league_id=in_league_id,name=in_name,description=in_description WHERE id = _id;
ELSE
SET _id=UUID();
INSERT INTO t_boss_role(id, league_id, name, description,is_enabled,is_deleted)
VALUES(_id, in_league_id, in_name, in_description,1,0);
END if;
SELECT _id; -- 返回最后查询的id
END

2 php添加和修改的调用

  $cmd = \Yii::$app->db->createCommand('CALL p_boss_role_save(:id,:leagueId,:name,:description)');
$cmd->bindValue(':id',$id);
$cmd->bindValue(':leagueId',$leagueId);
$cmd->bindValue(':name',$name);
$cmd->bindValue(':description',$description);
return $cmd->queryScalar();

3.1 创建 删除 的存储过程  逻辑删除

CREATE DEFINER=`root`@`%` PROCEDURE `p_boss_role_delete`(IN `_id` CHAR(36))
BEGIN
UPDATE t_boss_role SET is_deleted = 1 WHERE id = _id;
END

4.1 php调用

 $cmd = \Yii::$app->db->createCommand('CALL p_boss_role_save(:id)');
$cmd->excute();

php+MySQL(存储过程) +yii2完整的增删改查的更多相关文章

  1. MYSQL - database 以及 table 的增删改查

    MYSQL - database 以及 table 的增删改查 MySQL的相关概念介绍 MySQL 为关系型数据库(Relational Database Management System), 这 ...

  2. 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理

    一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...

  3. MySQL数据库之表的增删改查

    目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...

  4. MYSQL的常用命令和增删改查语句和数据类型

    连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...

  5. MYSQL的常用命令和增删改查语句和数据类型【转】

    连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...

  6. SQL学习之MYSQL的常用命令和增删改查语句和数据类型

    连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 创建数据库:create database [库名] 显示所有数据库: show databases; 打开数据库:use [ ...

  7. MySQL 之基础操作及增删改查等

    一:MySQL基础操作 使用方法: 方式一: 通过图型界面工具,如 Navicat,DBeaver等 方式二: 通过在命令行敲命令来操作 SQL ( Structure query language ...

  8. node+mysql,实现基本的增删改查,附带跟踪记录和运行时间记录

    Node + mysql 实现基础的增删改查,以及性能测试. 网上有很多这样的例子,我也是找来学习的. 感觉node对mysql的操作非常简单,也很实用,比如自带防止sql注入的功能,一开始还担心注入 ...

  9. 进入全屏 nodejs+express+mysql实现restful风格的增删改查示例

    首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...

随机推荐

  1. Vue编译时写在style中的路径问题

    写在vue文件里面的style样式,在添加例如背景图片的时候,如果用的是相对路径,那么build出来的css文件的路径将会出错,导致找不到图片. 通过查找资料,在https://segmentfaul ...

  2. 浅谈 ECMAScript 和 JavaScript

    ES5与ES3基本保持兼容,较大的语法修正和新功能加入,将由JavaScript.next完成. 什么是ECMAScript?http://baike.baidu.com/link?url=G1T8n ...

  3. u-boot分析(三)---boot命令实现以及内核的启动

    上片博文总结出了u-boot的工作流程,今天我们来分析,u-boot的两个比较重要的内容 1.        U-boot命令的实现 2.        U-boot如何启动内核 l  命令实现 我们 ...

  4. 带你了解强大的Cadence家族,你可能只用到了它1/10的工具

    [转载自 SI-list[中国]http://mp.weixin.qq.com/s/qsdfzQwIVjvwHXuCdvrPXA ] 本篇对2017年初版Cadence的全套所有EDA工具的技术特性特 ...

  5. Azure 5 月新公布(二)

    Azure 5 月新发布(二):CDN 图片处理功能, CDN Restful API, 新版 CDN 管理门户, 计量名称变更延期  Azure CDN 图片处理功能开放公共预览版 Azure CD ...

  6. So you want to write a desktop app in Python

    So you want to write a desktop app in Python Thomas Kluyver 2014-06-16 23:55 51 Comments Source This ...

  7. Selenium入门系列1 打开浏览器访问网页,退出浏览器

    对于功能自动化的理解就是用测试工具替代手工.手工怎么操作的,工具也如何操作. 手工测试:在前置条件下,执行一定的操作步骤>与预期结果对比 功能自动化:在前置条件下,识别对象 >操作对象&g ...

  8. Google Java编程风格指南(转)

    目录 前言 源文件基础 源文件结构 格式 命名约定 编程实践 Javadoc 后记 前言 这份文档是Google Java编程风格规范的完整定义.当且仅当一个Java源文件符合此文档中的规则, 我们才 ...

  9. 使用selenium 检测js报错

    背景:接到一个需求,想检测页面是否能检测js报错,何为js报错,如下图所示,在控制台中,使用console,如果有js报错,就会出现错误 如何检测,简单版操作,打开一个url,使用manage获取浏览 ...

  10. java 生成12位随机数,解决The literal 9999999999999 of type int is out of range 问题

    原本想这样产生一个随机数,但是你会看到,只要数字超过了9位数,就会出问题,提示“The literal 1000000000000 of type int is out of range” 解决方式是 ...