zoukankan      html  css  js  c++  java
  • msql数据库触发器和连接mysql常用函数

    触发器
    delimiter $$(设置$$为语句结束符)
    例:
    delimiter $$
    create trigger jiaobanfei after update on user1     
    for each row
    begin
    update user2 set age=age+(old.num-new.num);
    update user2 set num=num+1;
    end
    $$
    delimiter;


    old.age-new.age

    删除;drop trigger jiaobanfei;

    update user1 set num=num-4 where id=1;

    注意;1、触发器不能同名
         2、目前mysql只支持一类事件设置一个触发器

    在触发器内,获得触发改触发程序时的数据:
    利用触发程序内的new和old来完成

    old:旧的数据,在时间发生之前的数据
    new:监听表上,事件发生之后的数据

    事件是insert,不能使用old
    事件是delete,不能使用new

    如果一个触发程序,由多条sql语句组成:
    应该;1、语句组成语句块(begin,end)来标识语句块
       2、语句快的语句需要独立的语句结束符,分号

       命令行:由于触发器程序内使用分号作为语句结束符,那么当命令行客户
       端碰到分号时,就应该理解成触发器程序内子语句结束,而不是整个创建触发器的语句结束

       应该通过修改命令行的语句结束符达到目的,
       Delimiter语句可以完成设置语句结束符




    测试  :insert into on duplicate key update (如果插入的数据时,主键重复,则为修改操作)
            replalce


    php操作mysql的客户端有三个
    msyql,mysqli,pdo

    测试函数是否可用
    var_dump(function_exists('mysql_connect'));

    常见的:show,desc,select 返回结果集

             insert,update ,delete返回布尔值



    ASSOC:关联数组
    row;索引数组
    array:混合数组

    fetch只能获得一条,但是可以自动移动,结果集的记录指针,配合循环结构,完成所有数据的操作




    mysql 错误:
    获得错误信息;
    mysql_error();错误信息
    mysql_errno();错误编号

    1、获得结果集内的数据量
    mysql_num_rows(结果集)
      查

    2、操作后,受影响的行数
    mysql_affected_rows();
    适用于 增删改

    3、获得最新的自动增长的字段的值,通常是id主键
    mysql_insert_id();

    4、如果资源使用完毕,应该释放资源
    mysql_free_result(结果集);


    需要释放的资源;复合类型的数据(数组,对象),资源
    unset一下变量就行

  • 相关阅读:
    2019年度SAP项目实践计划
    实现祖国统一其实并不难
    2018年终总结之摄影作品展
    2018年终总结之访问量较大的原创文章
    2018年终总结之AI领域开源框架汇总
    2018 AI产业界大盘点
    为什么我觉得Python烂的要死?
    SAP MM 根据采购订单反查采购申请?
    2018-8-10-win10-uwp-ApplicationView
    2018-8-10-WPF-播放-gif
  • 原文地址:https://www.cnblogs.com/hhfhmf/p/4830987.html
Copyright © 2011-2022 走看看