Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >--Postgresql 建表疏忽导致的数据无法插入,发现奇怪的问题

--Postgresql 建表疏忽导致的数据无法插入,发现奇怪的问题

作者头像
AustinDatabases
发布于 2021-05-11 06:25:43
发布于 2021-05-11 06:25:43
1.2K0
举报
文章被收录于专栏:AustinDatabasesAustinDatabases

此前在其他的数据库并未注意到这点,POSTGRESQL 建立字符字段的时候,可以大量使用TEXT的形式来存储字符。

建表的时候粗心在建立表后,插入数据一直报错

当时没有注意,认为是符号的错误导致的写入数据的问题,修改了半天insert的语句,报错也改变了

最终发现不是insert语句的问题而是建表的时候产生的问题。版本(PGV12.2)

注意建表的时候将text 写成了test, 导致建表后,字段的类型不对。导致后面输入数据错误。

alter table laptop ALTER COLUMN type SET DATA TYPE text;

在进行插入数据插入成功, 这留下一个问题,为什么写错的数据类型还能建立表。

尝试将其他的类型写错了,看看能不能建立表

再次创建一个表,尝试将类型写错,也是通过的

首先要确认的是这里并没有组合类型的设置和建立,而发现此次问题的也是偶然的。

随即查找到底什么原因导致这个问题,或可能的原因是什么

随即建立新的数据库,模拟问题没有成功

再次创建数据表,发现没有成功的模拟出问题。

随即对原数据库进行分析

1 原有的数据库的默认的schema 是 test

2 原有的数据库加装了citext 插件

随即再次模拟情况失败

尝试创建新的数据库,并且指定默认的schema为test ,加载 citext后再次创建错误的表,失败。

目前不能确认是否还能模拟出错误,或者没有找到根本原因,但在postgres 的数据库中的test的schema 中,目前是可以创建表并且用不存在的数据类型,当然这个数据类型只能叫test。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
进阶数据库系列(六):PostgreSQL 数据类型与运算符
PostgreSQL 支持多种数据类型,主要有整数类型、浮点数类型、任意精度数值、日期/时间类型、字符串类型、二进制类型、布尔类型和数组类型等。
民工哥
2023/08/22
6.3K0
进阶数据库系列(六):PostgreSQL 数据类型与运算符
数据库常见错误码
我们知道网页有他的状态码,比如最常见的404,500。都有他自己的含义,但是,在MySQL数据库里面也有他们的一个错误码,相信很多同学见过但是没有注意到吧。很多时候,进行数据库操作的时候,会提示错误,但是大部分同学都会选择直接重写语句而不是先考虑如何根据错误信息来修改,其实学会看错误码,能够快速的定位自己的错误,更容易就能解决问题哦
全栈开发Dream
2021/06/12
1.2K0
PostgreSQL操作
一、进入PostgreSQL数据库 Linux下切换到postgres用户,执行psql即可进入
菲宇
2022/04/13
1.6K0
PostgreSQL操作
PostgreSQL中的Schema
一个数据库包含一个或多个命名的模式,模式又包含表。模式还包含其它命名的对象,包括数据类型、函数,以及操作符。同一个对象名可以在不同的模式里使用而不会导致冲突; 比如,schema1和myschema都可以包含叫做mytable的表。和数据库不同,模式不是严格分离的:一个用户可以访问他所连接的数据库中的任意模式中的对象,只要他有权限。 我们需要模式有以下几个主要原因: 1). 允许多个用户使用一个数据库而不会干扰其它用户。 2). 把数据库对象组织成逻辑组,让它们更便于管理。
java达人
2018/01/31
2K0
mysql的建表语句_mysql如何查询建表语句
mysql安装教程见博客:MySQL 7.7.25 图文安装教程(Win10) 本篇博客以学生表、课程表以及学生-课程表为例,讲解mysql常用的建表语句。
全栈程序员站长
2022/10/05
8.7K0
mysql的建表语句_mysql如何查询建表语句
PostgreSQL 逻辑复制一网打尽
PostgreSQL 的逻辑复制的场景还是蛮多的,尤其在一些需要进行关键数据表数据同步的情况下,将数据操作进行同步是十分有必要的业务场景。在提到POSTGRESQL的逻辑复制之前,还是的先说说逻辑复制的应用场景,以及与物理复制的不同和操作中的注意事项。
AustinDatabases
2021/11/17
8860
PostgreSQL 逻辑复制一网打尽
『数据库』震惊,某博主为吸引眼球拿出压箱底SQL总结,如果你没看那就吃亏了!(超级详细的SQL基础,你还不会的话就别学数据库了)
这里还有数据库相关的优质文章:快戳我,快戳我? 前言: 使用SQL语言时,要注意SQL语言对大小写并不敏感,一般使用大写。所有符号一定是西文标点符号(虽然是常识,但我还是提一嘴) 文章有点长,大家要
风骨散人Chiam
2020/10/28
7630
Postgresql FDW技术的应用
Ubuntu 16.04 LTS云主机2台,主机名为pg1(192.168.0.10)和pg2(192.168.0.11)。
伊泽瑞尔
2022/06/01
5660
PostgreSQL查不到新建表?
近期有同学反馈在使用PG数据库的时候,明明之前创建的账号已经授权了查看所有表的权限,为何却查不到新建表?到底该如何授权?
俊才
2023/01/16
1K0
新手如何入门学习PostgreSQL?
在各种数据岗招聘中,SQL几乎成为了必备技能。有公司的地方就会有数据,有数据的地方就会有数据库,有数据库的地方就会有SQL。
派大星的数据屋
2022/07/06
2K0
新手如何入门学习PostgreSQL?
玩转SQLite4:SQLite数据插入与查看
点击插入数据的图标,依次输出几条数据。注意id这一项在点击插入数据时,是自动填充的,这是因为之前在创建表时,对id字段勾选了“自增”。
xxpcb
2021/12/16
1.6K0
玩转SQLite4:SQLite数据插入与查看
【测试SQLite】测试SQLite支持的SQL语句分类
为了全面测试SQLite支持的SQL语句,需要设计一个包含多种类型的表结构,并编写各种SQL语句来测试这些功能。目前按照以下分类进行测试:
SarPro
2024/05/24
4600
【测试SQLite】测试SQLite支持的SQL语句分类
Postgresql 权限也能搞死你 之 小菜的一天 (2)
PostgreSQL的权限问题估计没有多少人会关注, 小菜经过上次的教训后,又找了一份工作,今天又是第一天上班,不过小菜到底有没有吸收了上次的教训. follow him
AustinDatabases
2019/12/24
6180
Postgresql 权限也能搞死你 之  小菜的一天 (2)
数据库学习笔记(一)
创建基本表(以及其他数据库对象),如果没有指定模式,系统会根据搜索对象来确定该对象所属的模式
赤蓝紫
2023/01/02
1.3K0
很重要!MySQL的复杂数据类型,学会使用再也不怕复杂场景了、枚举(ENUM)、集合(SET)、JSON、空间数据类型
MySQL数据库作为关系型数据库管理系统(RDBMS)中的佼佼者,提供了多种数据类型以满足不同应用场景的需求。本文将深入探讨MySQL中的枚举类型(ENUM)、集合类型(SET)、JSON类型以及空间数据类型
小白的大数据之旅
2024/11/25
2290
MySQL数据库,从入门到精通:第十三篇——MySQL数据表约束详解
在MySQL数据库中,约束是一种对数据表中数据进行限制和检查的方法,可以保证数据表中数据的完整性和一致性。本文将深入剖析MySQL中的各种约束,包括非空约束、唯一性约束、主键约束、自增列、外键约束、默认值约束以及CHECK约束等等,同时结合开发场景给出约束使用和实践的技巧和方法,帮助读者更好地掌握MySQL中数据表相关操作的技巧和方法。
默 语
2024/11/20
3340
MySQL数据库,从入门到精通:第十三篇——MySQL数据表约束详解
0458-Hive数据类型校验问题分析
使用Hive时大家都会遇到数据类型校验的问题,相比传统关系型数据库会严格要求数据的Schema,数据的列数、每一列的字段类型都有严格的规定,因此数据的存储必须按照定义的Schema格式来存储。而Hive数据库对数据格式及具体的内容并不关心,只有在数据被读出时才会与定义的Schema进行转换。那这个时候就会出现数据类型转换的问题,本篇文章Fayson主要分析下如何查找表中类型转换错误的数据以及Hive对空值和NULL的处理。
Fayson
2018/12/17
7030
POSTGRESQL 权限问题,官方说必须是DBOWNER 和 SUPERUSE 才能进行DDL 操作,真的?
https://www.postgresql.org/docs/current/ddl-priv.html
AustinDatabases
2022/05/19
8440
POSTGRESQL 权限问题,官方说必须是DBOWNER 和 SUPERUSE 才能进行DDL 操作,真的?
数据库系统:第三章 关系数据库标准语言SQL
SQL是结构化查询语言(Structured Query Language)的缩写,是关系数据库的标准语言,实际功能包括数据定义、数据查询、数据操纵和数据控制。SQL标准的制定使得几乎所有的数据库厂家都采用SQL语言作为其数据库语言。但各家又在SQL标准的基础上进行扩充,形成自己的语言。
Here_SDUT
2022/08/09
2.8K0
数据库系统:第三章 关系数据库标准语言SQL
JAVA动态创建表以及动态插入数据
利用JDBC驱动链接Mysql数据其实很简单的,第一要下载一个名为 “mysql-connector-java-5.1.20-bin.jar” 驱动包。并解压到相应的目录!5.1.20是版 本号到目前为止这个是最新的版本!
ZONGLYN
2019/08/08
6.7K0
推荐阅读
相关推荐
进阶数据库系列(六):PostgreSQL 数据类型与运算符
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档