Mybatis连接Postgres报ERROR: relation "xxx表名" does not exist.解决方法_relation "" does not exist-程序员宅基地

技术标签: postgresql  报错  

在mybatis的mapper.xml中写入已经验证后的查询语句时报错如下:

org.postgresql.util.PSQLException: ERROR: relation "xxx_tablename" does not exist

首先,查询语句已经在数据库里查验过了,没有任何问题,数据库中也有这张表,为啥就是一直报这个错误呢?在网上搜了很久,大概的说法如下:
1.pg是需要区分大小写的,这个也对了,没有问题;
2.可能与原本数据库中自带的表冲突了,这个也排除了,表都是自己新建的,并且表名没有冲突;
3.表的键值和其他表存在依赖关系,这个也并没有。
各种说法的帖子都查了,但是并没有卵用。
后来才知道,py库查询时需要在表名前加模式名称,就是这张表属于哪个schema(模式),不然查询时可能找不到表。
到此问题解决,发现相同的错误不一定出于一个原因!

附录:
schema介绍
在数据库中,schema(中文叫模式)是数据库的组织和结构,schemas and schemata都可以作为复数形式。模式中包含了schema对象,可以是表(table)、列(column)、数据类型(data type)、视图(view)、存储过程(stored procedures)、关系(relationships)、主键(primary key)、外键(foreign key)等。

Schema和DataBase是否等同?
涉及到数据库的模式有很多疑惑,问题经常出现在模式和数据库之间是否有区别,如果有,区别在哪里。

取决于数据库供应商
对schema(模式)产生疑惑的一部分原因是数据库系统倾向于以自己的方式处理模式

(1)MySQL的文档中指出,在物理上,模式与数据库是同义的,所以,模式和数据库是一回事。

(2)但是,Oracle的文档却指出,某些对象可以存储在数据库中,但不能存储在schema中。 因此,模式和数据库不是一回事。

(3)而根据这篇SQL Server技术文章SQLServer technical article,schema是数据库SQL Server内部的一个独立的实体。 所以,他们也不是一回事。

因此,取决于您使用的RDBMS,模式和数据库可能不一样。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45770112/article/details/103803475

智能推荐

CCF系列题解--2016年4月第一题 折点计算_c++给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天-程序员宅基地

文章浏览阅读3.7k次,点赞2次,收藏2次。问题描述  给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。  给定n个整数a1, a2, …, an表示销售量,请计算出这些天总共有多少个折点。  为了减少歧义,我们给定的数据保证:在这n天中相邻两天的销售量总是不同的,即ai-1≠ai。注意,如果两天不相邻,销售量可能相同。输入格式  输入的第一行包含一个整数n。  第二行包含n个整数,用空格分隔,分别表_c++给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天

手动设置WRE54G-程序员宅基地

文章浏览阅读83次。_wre54g

PS2模拟器 PCSX2 新手向-程序员宅基地

文章浏览阅读849次。1.模拟器的下载1.1百度网盘地址:http://pan.baidu.com/s/1i3kt7bJ (已经整合了PS2BIOS的模拟器下载,比较新的版本,适合新手)1.2高端玩家可以下载:官网git版下载地址(点击Download下载):http://buildbot.orphis.net/pcsx2/index.php模拟器还需要需要PS2BIOS文件的支持:PS2BIO..._pcsx2 is an open source ps2 emulator

百万TPS高吞吐、秒级低延迟,阿里​搜索离线平台如何实现?-程序员宅基地

文章浏览阅读544次。导读:阿里主搜(淘宝天猫搜索)是搜索离线平台非常重要的一个业务,具有数据量大、一对多的表很多、源表的总数多和热点数据等特性。对于将主搜这种逻辑复杂的大数据量应用迁移到搜索离线平台总是不缺..._高吞吐批处理离线预测服务

matlab演化博弈仿真_使用matlab对动态博弈演化过程进行数值仿真-程序员宅基地

文章浏览阅读1.5k次。https://blog.csdn.net/qq_42830971/article/details/118191131_使用matlab对动态博弈演化过程进行数值仿真

JS的get方法和set方法_js get-程序员宅基地

文章浏览阅读1w次,点赞9次,收藏24次。get 关键字将对象属性与函数进行绑定,当属性被访问时,对应函数被执行。set 关键字将对象属性与函数进行绑定,当属性被赋值时,对应函数被执行。基本用法:let obj = { a: '吕小布', get b() { console.log('一旦调用对象的b属性,就会触发b属性的get方法') }, set b(newVal) { b = newVal console.log('调用了b属性的set方法,方法的值是:' + newVal) }}obj._js get

随便推点

解决SecureCRT中文显示乱码-程序员宅基地

文章浏览阅读130次。操作步骤以下两步:远程linux机器。修改环境变量LANG。例如在~/.bash_profile里面添加[plain]view plaincopyexportLANG=zh_CN.UTF8重新登录之后生效。现在查看一下当前设置:[plain]view plaincopymyname@..._securecrt显示乱码

架构师成长记_第六周_05_Redis 同步购物车实现(登录成功后,同步cookie和redis中的购物车数据)_购物车数量如何同步-程序员宅基地

文章浏览阅读510次。文章目录Redis 登录注册同步购物车实现第一种情况: redis和cookie都为空, 不做任何处理第二种情况: redis 为空, cookie 不为空, 直接把cookie中的数据放入redis第三种情况: redis 不为空, cookie 为空, 直接把 redis 覆盖 cookie第四种情况: redis 不为空, cookie 不为空, 合并 cookie 和 redis 中购物车的商品数据(同一商品则覆盖redis)实现步骤完整代码:Redis 登录注册同步购物车实现redis中_购物车数量如何同步

HTML5中的线性渐变(linear-gradient)与径向渐变(radial-gradient)_html linear-gradient-程序员宅基地

文章浏览阅读2.3k次。因为只是大概看一下之前上课的代码,而且以后不大可能会用到,所以在此不做过多介绍。效果图:repeating-linear-gradient() 函数:用于创建重复的线性渐变 “图像”。语法:background: repeating-linear-gradient(angle | to side-or-corner, color-stop1, color-stop2, ...);angle定义渐变的角度方向;to side-or-corner指定线性渐变的起始位置(与angle不能同时出现); col_html linear-gradient

【Mac OS 与 Win10/Win7 双系统忘记Windows开机密码】苹果电脑安装了双系统,忘记了Windows开机密码_苹果笔记本做了windows系统怎么进pe修改密码-程序员宅基地

文章浏览阅读8.8k次。这里写自定义目录标题Win10或者Win7忘记开机密码前置条件准备PE/U盘MacOS的U盘启动配置如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入Win10或者Win7忘记开机密码苹果笔记本电脑 Macbook Air,预装了双系统Mac OS 和 Windows,但_苹果笔记本做了windows系统怎么进pe修改密码

无法将“scrapy”项识别为 cmdlet、函数、脚本文件或可运行程序的名称_scrapy : 无法将“scrapy”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。-程序员宅基地

文章浏览阅读1.2w次,点赞11次,收藏23次。无法将“scrapy”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。问题描述在做爬虫练习的时候Pycharm 里执行pip install scarapy ,下载包正常但是执行scrapy startproject DemoSprider出现报错scrapy : 无法将“scrapy”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。解决方案:在命令前加上py -m,执行py -m scrapy startproject mySpider..._scrapy : 无法将“scrapy”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

Qt学习之路(37): Qt容器类之关联存储容器-程序员宅基地

文章浏览阅读76次。版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://devbean.blog.51cto.com/448512/248373今天我们来说说Qt容器类中的关联存储容器。所谓关联存储容器,就是容器中存储的一般是二元组,而不是单个的对象。二元组一般表述为<Key-Value>,也就是“键-值对”。..._qt怎么在类中声明存储地铁站点信息的容器