首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >(MySQL)如何根据正在查看视图的用户更改视图的结果?

(MySQL)如何根据正在查看视图的用户更改视图的结果?
EN

Database Administration用户
提问于 2012-10-02 23:42:06
回答 3查看 741关注 0票数 3

我有一个名为servers的表,它只有一个列id

这个表由不同的机器访问,每个机器都有不同的数据库用户名。

我希望这样每个服务器都不会看到这个表上的所有信息,而只会看到我指定的子集,以便在应用服务器之间划分工作负载。

我最初的想法是重命名该表(例如,"servers_table"),向其添加另一个"user“列,并创建一个视图(带有原始名称),该视图根据当前连接到服务器的用户名显示结果。

我的桌子现在是这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
id  user
 1  server1
 2  server1
 3  server2
 4  server1
 5  server2

我的尝试是(作为"server1"):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE VIEW server AS 
SELECT id 
FROM server_orig 
WHERE usuario=SUBSTRING_INDEX(CURRENT_USER(),'@',1);

但是,这不起作用,因为CURRENT USER()是在CREATE VIEW时计算的,而不是在SELECT时计算的。

因此,运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql -userver1 database -e "select * from server;"

产量:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
+----+
| id |
+----+
|  1 | 
|  2 | 
|  4 |
+----+

但以server2的身份运行它也是如此。

我不能(因为程序是封闭的)更改原始的select语句(这最终也会导致更改insert/update语句)。

是否有一种方法可以完全在MySQL方面实现这一点?

EN

回答 3

Database Administration用户

回答已采纳

发布于 2012-10-03 01:19:24

来自current_user() 文档的提示:

对于使用SECURITY特性定义的存储过程、函数和视图,CURRENT_USER()返回对象的调用程序。

另一方面,在PostgreSQL中,您也可以这样做(使用current_user函数,它的行为完全符合需要),如果有了良好的设计和配置,性能不会更差--不过,我不认为这个特性会使迁移到PostgreSQL有任何意义(特别是考虑到应用程序代码已经关闭.)

票数 3
EN

Database Administration用户

发布于 2012-10-03 13:40:07

请运行以下SQL查询:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT USER(),CURRENT_USER();
  • USER()报告您如何尝试在MySQL中进行身份验证。
  • CURRENT_USER()报告如何允许您在MySQL中进行身份验证。

实际上,USER()可能更好,因为它揭示了DB连接的原始点。您可能应该创建一个存储过程或存储函数(用SELECT GROUP_CONCAT(id) FROM server_orig WHERE usuario=SUBSTRING_INDEX(CURRENT_USER(),'@',1);返回逗号分隔的ids列表)。

这样,您就可以使用SQL安全定义器创建存储过程或存储函数,并且仍然知道是谁发起了查询。CURRENT_USER()将是定义者。您将需要使用USER()函数。

票数 1
EN

Database Administration用户

发布于 2019-01-11 13:35:27

使用USER()而不是CURRENT_USER()。也离开SQL SECURITY DEFINER。使用INVOKER,您将无法在不为它使用的每个表授予权限的情况下选择视图。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/25337

复制
相关文章
Meta分析森林图中文显示问题
Stacfamily = 'STHeitiSC-Light'或者 family="Arial Unicode MS"即可显示中文,然后我们保存
Jamesjin63
2023/01/15
5780
【R语言】如何在绘图中显示“≥” 和“≤”
不知道大家在用R绘图的时候,有没有遇到过需要在图中显示大于等于(≥)或者小于等于(≤)符号。小编发现一个很奇怪的现象,在Rstudio里面可以正常显示,但是保存到pdf文件中就变成了=。
生信交流平台
2022/09/21
1.4K0
【R语言】如何在绘图中显示“≥” 和“≤”
Jalview | 多序列比对图中显示序列标识
序列标识图 (Sequence logo)就是序列的残基Logo,它是以图形的方式依次绘出序列比对中各个位置上出现的残基,每个位置上残基的累积可以反应出该位置上残基的一致性。每个残基对应图形字符的大小与残基在该位置上出现的频率成正比。但图形字符的大小并不等于频率百分比,而是经过简单统计计算后转化的结果。
生信宝典
2021/12/15
1.6K0
Jalview | 多序列比对图中显示序列标识
matplotlib学习笔记1-图中显示中文
本文通过实例介绍了matplotlib库中中文乱码问题的解决方法,并提供了修改配置文件的方法。通过在代码中加入三行代码,可以轻松解决中文乱码问题,提高绘图的易用性和可读性。
锦小年
2018/01/02
6940
matplotlib学习笔记1-图中显示中文
layui单选框未显示的问题
一开始还没导入idea的时候,单纯点击一个网页是有显示出来的,当我把这个带有单选框的网页放到idea的项目中去的时候,发现单选框没显示出来。 1.首先在确认js.css等东西有导入,和之前的网页也没有什么区别 2.网上查询之后, 解释:有些时候,你的有些表单元素可能是动态插入的。这时 form 模块 的自动化渲染是会对其失效的。虽然我们没有双向绑定机制, 但没有关系,你只需要执行 form.render(type, filter); 方法即可。
全栈程序员站长
2022/08/23
5.3K0
RTSP视频流显示(海康威视)
本文目的主要是想要实时显示海康威视的摄像头数据,笔者尝试了如下几种方式(部分未做完):
全栈程序员站长
2022/09/13
2.8K0
RTSP视频流显示(海康威视)
QGIS制图中面积小的区域不显示注记
在使用QGIS进行制图的过程中,对于面积太小的区域有可能存在注记显示不出来的情况。比如在中国地图中,中国香港和中国澳门区域面积较小,就存在显示不了注记的情况。
卡尔曼和玻尔兹曼谁曼
2020/08/04
2K0
QGIS制图中面积小的区域不显示注记
C++在视图中显示缩略图
将任意形式文件已缩略图形式显示在视图中 //pWnd为当前客户区视图 CWnd* pWnd; pWnd=this; CDC* pDC=pWnd->GetDC(); HDC hDC = pDC->m_hDC; HWND hwnd=pWnd->GetSafeHwnd(); CImage image; //m_ViewRect 为当前客户区 CRect m_ViewRect; GetClientRect(&m_ViewRect); //strFilePath为影像绝度路径,包含文件名 image.Load(strFilePath);
用户7886150
2021/02/13
6880
我的世界区块显示_我的世界怎么显示区块线
我的世界手游区块是一个独特的机制,很多玩家对于区块是什么不太了解,区块显示指令以及区块的产生不是很熟悉,为了帮助到大家,今天小编就为大家带来我的世界手游区块显示指令分享:区块玩法操作详解的内容,希望大家能够喜欢,下面就让我们一起来看看吧!
全栈程序员站长
2022/09/30
6.5K0
我的世界区块显示_我的世界怎么显示区块线
我把莫奈的配色用到了科研绘图中
这个是通过《艺术绘》视频号看到的一个小短篇,莫奈大师的配色果真高级。于是小编有了这么一个想法:虽然我不会画画,但是我会画科研图啊!作为实力型搬运工,我把这配色搬到了公众号里,并且尝试使用这些配色加入到 R 可视化中。
庄闪闪
2021/10/08
8880
Google广告显示不正确的问题
互联网从业人员相比对于Google Adsense应该非常熟悉,它就像我们生活中常见的楼宇电梯电视广告一样,是互联网上的一种广告类型。每个网站通过安装一块电视,定期的向用户播放广告。只不过Google的这块电视,能够根据网站的内容、用户的访问行为等一系列大数据为每个用户投放最感兴趣的内容。
大江小浪
2020/03/30
3.1K0
如何在博客的日志之间显示广告
这篇文章将向你展示如何在 WordPress 主页上的日志之间放置 AdSense 代码(或者其他广告的代码)。同样的方法也可以用于在存档页面(包括分类和作者存档页面)放置广告。
Denis
2023/04/13
5650
解决matplotlib画图中文显示问题--windows版(永久)
链接:https://pan.baidu.com/s/1gkQlIHulFVDYGdgiT8mbow 提取码:oh70
小闫同学啊
2019/07/18
1K0
解决matplotlib画图中文显示问题--windows版(永久)
[答疑]图中的“通讯录”那里,我觉得可以不要了
潘老师,以前你解答过的这道题,现在我重新做了一下,能否帮忙看一下?公安**实有人口**建模
用户6288414
2021/11/10
3780
谈谈我对广告行业的理解
一直关注我的人应该知道,我从皓量科技离职了。刚好这两天被互联网大厂2021年广告收入增长的消息刷屏,很多其他行业的朋友对广告行业充满了好奇,广告到底是怎么实现收入增长的?刚好这两天离职了有点时间,想谈谈我对广告行业的一些理解。当然我不会在此跟大家详细介绍广告的整个生态链条,因为确实很庞大,也很复杂,不是三言两语能讲清楚的。这里只是想简单谈一下这些年我对广告行业的一些认识和理解,希望能帮助到想了解广告行业的朋友。
用户7569543
2022/04/16
1.4K0
谈谈我对广告行业的理解
算法“视”界杯来袭,2021腾讯广告算法大赛正式开启!
全球算法达人注意啦,2021腾讯广告算法大赛强势归来!本届赛事围绕视频广告议题开设两大赛道——“视频广告秒级语义解析”与“多模态视频广告标签”两大前沿命题等你来战!
腾讯云TI平台
2021/03/09
2.2K0
算法“视”界杯来袭,2021腾讯广告算法大赛正式开启!
全球算法达人注意啦,2021腾讯广告算法大赛强势归来!本届赛事围绕视频广告议题开设两大赛道——“视频广告秒级语义解析”与“多模态视频广告标签”两大前沿命题等你来战! 即日起至5月31日,2021腾讯广告算法大赛报名通道(https://algo.qq.com/)正式开启!现诚邀全球算法圈层技术达人登上竞技舞台,与各路高手一同挑战前沿技术命题。 腾讯广告算法大赛已成功举办四届,随着比赛规模的逐渐升级,赛事影响力的不断扩大,腾讯广告算法大赛已然成为全球最受瞩目的算法竞技赛事之一。2021腾讯广告算法大赛由腾讯
腾讯云TI平台
2022/01/27
1.1K0
三大视角,聊聊我眼中的广告系统
从实习到工作,接触过一些大大小小的广告系统,有麻雀虽小但五脏俱全的小 dsp,也有把 ssp、adx、dsp 都打包了的大媒体 ,算是对业界的广告系统有了一个初步的了解。趁着放假这几天,简单地梳理一下当前了解到的广告系统知识,主要是想对零散的知识做个整理。
NewBeeNLP
2021/09/14
1.4K0
类图中的关系
关联(Association)关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生等等。在UML类图中,用实线连接有关联关系的对象所对应的类,在使用Java、C#和C++等编程语言实现关联关系时,通常将一个类的对象作为另一个类的成员变量。在使用类图表示关联关系时可以在关联线上标注角色名,一般使用一个表示两者之间关系的动词或者名词表示角色名(有时该名词为实例对象名),关系的两端代表两种不同的角色,因此在一个关联关系中可以包含两个角色名,角色名不是必须的,可以根据需要增加,其目的是使类之间的关系更加明确。
后端码匠
2022/03/28
7350
类图中的关系
重磅来袭!2018 DEAS游戏企业出海专场演讲嘉宾阵容正式公布
2018中国数字娱乐产业年度高峰会(DEAS),将于2019年1月9至10日在厦门磐基希尔顿酒店震撼登场,成为聚焦业界人士高度关注的年度盛会!其中,作为本届DEAS的重要同期活动之一,2018 DEAS游戏企业出海专场将于1月10日下午在厦门磐基希尔顿酒店隆重举办。本次活动由移动游戏企业家联盟(MGEA)和厦门市思明区人民政府主办、上海汉威信恒展览有限公司和厦门市动漫游戏产业协会联合主办、并得到厦门市文化改革发展工作领导小组办公室和厦门市经济和信息化局大力支持。
VRPinea
2018/12/28
8710
重磅来袭!2018 DEAS游戏企业出海专场演讲嘉宾阵容正式公布

相似问题

设置Chartboost间隙广告的显示时间

12

ChartBoost未显示间隙

10

ChartBoost广告暂停屏幕

15

如果revmob没有出现,如何显示chartboost广告?

10

Chartboost示例应用程序没有显示广告

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文