zoukankan      html  css  js  c++  java
  • mysql中修改view的definer

    我常用的工具是navicat,但是修改definer不能用工具,只能用命令行;

    数据库迁移到其他服务器上,会报definer错误,修改view的definer方法如下(比如把definer改为本地的,要加上select语句):

    第一种方法:

    alter DEFINER = 'root'@'localhost' view BMS_HOTEL_SALES_V as select `hc`.`CHECK_DATE` AS `CHECK_DATE`,`hsm`.`START_DATE` AS `START_DATE`,`hsm`.`END_DATE` AS `END_DATE`,`hc`.`USER_CODE` AS `USER_CODE` from ((`ots`.`sms_hotel_checkbill` `hc` join `ots`.`sms_hotel_sales_mapping` `hsm` on((`hc`.`HOTEL_ID` = `hsm`.`HOTEL_ID`))) join `ots`.`sy_org_role_user` `ru` on(((`ru`.`ROLE_CODE` = ‘XSY’) and (`hc`.`USER_CODE` = `ru`.`USER_CODE`)))) where (`hc`.`USER_CODE` = `hsm`.`USER_CODE`);

     以上的语句中:

      (1)'root'@'localhost'  ——>  '数据库用户名'@'主机地址' 

      (2)BMS_HOTEL_SALES_V  ——>  视图名

      (3)as 后面是视图语句

    第二种:
     
    复制视图创建语句,直接将create改成alter,definer改成相关的,比如root@localhost  例如:
     
    用alter view 修改definer的值,alter ALGORITHM=UNDEFINED DEFINER='root'@'localhost' SQL SECURITY DEFINER VIEW 'view_product' AS 视图选择语句。
     

     以上的语句中:

      (1)'root'@'localhost'  ——>  '数据库用户名'@'主机地址' 

      (2)'view_product'   ——>  视图名

      (3)AS 后面是视图语句

  • 相关阅读:
    6.BLE---数据传输
    5.BLE---报文
    4.BLE---广播信道防冲突与数据信道选择
    3.BLE---信道与功率
    Ubuntu 安装exe 软件
    Zephyr ubuntu 环境搭建
    ES6语法(一)let 和 const 命令
    Vue(二十三)vuex + axios + 缓存 运用 (以登陆功能为例)
    Vue(二十二)vuex小案例(官网计数案例整合)
    Vue(二十一)使用express模拟接口数据
  • 原文地址:https://www.cnblogs.com/zhongJaywang/p/6007688.html
Copyright © 2011-2022 走看看