达梦数据库操作以及报错修改
执行失败(语句1)
-6105:: 数据类型不匹配
第12 行附近出现错误
插入sql语句
INSERT INTO "by_ioc_rbac"."user_info" ("user_account", "user_name", "birthday", "password", "gender", "mobile", "email", "supplier_id", "user_type", "create_time", "duties", "dispatch_mode", "status", "id_copy", "uuid", "online_status", "update_time", "authentication_status", "id_card"
)
VALUES ('user123', 'John Doe', '1990-01-01', 'securepassword', 1, '1234567890', 'john.doe@example.com', 1001, 2, CURRENT_TIMESTAMP, 'Manager', 1, 1, NULL, 'uuid-12345', 0, CURRENT_TIMESTAMP, 0, '123456789012345678'
);
数据库ddl
CREATE TABLE "by_ioc_rbac"."user_info" ("id" BIGINT NOT NULL AUTO_INCREMENT,"user_account" VARCHAR(90) NULL,"user_name" VARCHAR(90) NULL,"birthday" VARCHAR(90) NULL,"password" VARCHAR(248) NULL,"gender" SMALLINT NULL,"mobile" VARCHAR(32) NULL,"email" VARCHAR(64) NULL,"supplier_id" BIGINT NULL,"user_type" SMALLINT NULL,"create_time" TIMESTAMP NULL,"duties" VARCHAR(2048) NULL,"dispatch_mode" SMALLINT NULL,"status" SMALLINT NULL,"id_copy" BIGINT NULL,"uuid" VARCHAR(90) NULL,"online_status" TINYINT NULL,"update_time" TIMESTAMP NULL,"authentication_status" SMALLINT DEFAULT 0 NULL,"id_card" VARCHAR(128) NULL,CONSTRAINT CONS134219136 PRIMARY KEY ("id")
);
CREATE UNIQUE INDEX INDEX33556236 ON "by_ioc_rbac"."user_info" ("id");
CREATE INDEX "idx_user_info_email" ON "by_ioc_rbac"."user_info" ("email");
CREATE INDEX "idx_user_info_mobile" ON "by_ioc_rbac"."user_info" ("mobile");
CREATE INDEX "idx_user_info_status" ON "by_ioc_rbac"."user_info" ("status");
CREATE INDEX "idx_user_info_supplier_id" ON "by_ioc_rbac"."user_info" ("supplier_id");
CREATE INDEX "idx_user_info_supplier_id_status" ON "by_ioc_rbac"."user_info" ("supplier_id","status");
CREATE INDEX "idx_user_info_user_account" ON "by_ioc_rbac"."user_info" ("user_account");
CREATE INDEX "idx_user_info_user_account_user_name_mobile_email" ON "by_ioc_rbac"."user_info" ("user_account","user_name","mobile","email");
CREATE INDEX "idx_user_info_user_name" ON "by_ioc_rbac"."user_info" ("user_name");
CREATE INDEX "idx_user_info_user_type" ON "by_ioc_rbac"."user_info" ("user_type");
异常
dm.jdbc.driver.DMException: 无效的数据类型at dm.jdbc.driver.DBError.throwException(SourceFile:738)at dm.jdbc.a.a.y.r(SourceFile:623)at dm.jdbc.a.a.f.r(SourceFile:138)at dm.jdbc.a.a.y.z(SourceFile:555)at dm.jdbc.a.a.y.L(SourceFile:536)at dm.jdbc.a.a.a(SourceFile:269)at dm.jdbc.a.a.a(SourceFile:803)at dm.jdbc.driver.DmdbStatement.executeInner(SourceFile:771)at dm.jdbc.driver.DmdbStatement.do_execute(SourceFile:196)at dm.jdbc.driver.DmdbStatement.do_execute(SourceFile:188)at dm.jdbc.driver.DmdbStatement.execute(SourceFile:1341)at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.execute(JDBCStatementImpl.java:330)at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:131)at org.jkiss.dbeaver.model.exec.DBExecUtils.executePersistAction(DBExecUtils.java:361)at org.jkiss.dbeaver.model.impl.edit.AbstractObjectManager.executePersistAction(AbstractObjectManager.java:40)at org.jkiss.dbeaver.model.impl.edit.AbstractCommandContext.executeCommands(AbstractCommandContext.java:198)at org.jkiss.dbeaver.model.impl.edit.AbstractCommandContext.saveChanges(AbstractCommandContext.java:125)at org.jkiss.dbeaver.ui.editors.entity.EntityEditor.lambda$1(EntityEditor.java:392)at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:192)at org.jkiss.dbeaver.ui.editors.entity.EntityEditor.saveCommandContext(EntityEditor.java:390)at org.jkiss.dbeaver.ui.editors.entity.EntityEditor$SaveJob.run(EntityEditor.java:1261)at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:117)at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
排查思路:
1、首先想到的是插入的字段类型与数据库定义的字段类型不匹配导致的,经过检查insert语句的只字段类型于数据库定义一致。所以不是此原因。
2、因为是数据库存在数据记录,将数据复制为insert语句执行插入也失败。
3、执行update语句也报此异常;
解决方案:
1、复制已有表ddl语句,只保留create语句。建立一个测试表,往测试表插入数据正常。
2、分析原有表的ddl语句发现存在约束"create_time" >= 0
3、数据库最原始的时间字段是DECIMAL类型,存入数据是时间戳。设置了一个大0的约束。之后时间字段为DATETIME类型之后,时间字段的值不能和0比较。所以报错。
总结:数据库数据类型不匹配,分析是否存在约束数据,如果存在则查插入或者更新的数据是否不符合数据表已有的约束信息
数据库操作
1、新增字段
ALTER TABLE "数据库名"."表名" ADD 字段名 字段类型;
-- 举例:
ALTER TABLE "SZZY"."feedback_info" ADD mark VARCHAR2(256);
2、修改字段
alter table test_table modify (test_column varchar(19) not null);
3、删除表中的字段
ALTER TABLE "数据库名"."表名" DROP COLUMN 字段名;
-- 举例:
ALTER TABLE "SZZY"."feedback_info" DROP COLUMN case_id;
4、给字段添加备注
comment ON COLUMN "数据库名"."表名"."字段名" IS '备注名';
-- 举例:
comment ON COLUMN "SZZY"."feedback_info"."mark" IS '标记';
5、给指定字段添加默认值
ALTER TABLE "数据库名"."表名" ALTER COLUMN 字段名 SET DEFAULT 默认值;
-- 举例:
ALTER TABLE "SZZY"."feedback_info" ALTER COLUMN status SET DEFAULT 0;
6、删除指定字段默认值
ALTER TABLE "数据库名"."表名" ALTER COLUMN 字段名 DROP DEFAULT;
-- 举例:
ALTER TABLE "SZZY"."feedback_info" ALTER COLUMN mark DROP DEFAULT;
7、增删改查
-- 查找
SELECT 字段名 FROM "表名" WHERE 条件;
SELECT "id", "case_code" FROM "case_info" WHERE "case_code" LIKE '%民终33%';
===========================================================================
-- 修改
UPDATE 数据库名."表名" SET "字段名" = '修改值' WHERE 条件;
UPDATE SZZY."feedback_info" SET "status" = '1' WHERE id = 1745737045470896128;
===========================================================================
-- 增加
INSERT INTO "数据库名"."表名" (字段列表) VALUES (字段值列表) ;
INSERT INTO "SZZY"."feedback_info" ("func_code","fdbk_person") VALUES ('04', '管理员') ;
===========================================================================
-- 删除
DELETE FROM "数据库名"."表名" WHERE 条件;
DELETE FROM "SZZY"."feedback_info" WHERE "fdbk_date" < '2024-01-11 16:06:40';
8、修改表名
ALTER TABLE 旧表名 RENAME TO 新表名;
ALTER TABLE yuangong RENAME TO employee;
9、增加表注释
comment ON TABLE 表名 is ‘注释’
10、达梦数据库 修改字段名
ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name;
相关文章:
达梦数据库操作以及报错修改
执行失败(语句1) -6105:: 数据类型不匹配 第12 行附近出现错误 插入sql语句 INSERT INTO "by_ioc_rbac"."user_info" ("user_account", "user_name", "birthday", "password", "gender", "mobi…...

江科大/江协科技 STM32学习笔记P21
文章目录 ADC模数转换器ADC简介逐次逼近型ADCSTM32的ADCADC基本结构输入通道转换模式单次转换,非扫描模式连续转换,非扫描模式单次转换,扫描模式连续转换,扫描模式 触发控制数据对齐转换时间校准硬件电路电位器产生可调电压的电路…...

第三方jar自带logback导致本地日志文件不生成
1.问题及解决 这是依赖的jar包,自己有logback,只打印到控制台,导致我们项目里配置的error级别日志不会生成到日志文件中去。ai给的答案是自己控制加载顺序,但很麻烦,--logging.config也不行,最好下了个7z压…...

国产数据库备份恢复实现
数据库备份恢复是数据库高可用的基本能力,如何通过备份数据快速高效的恢复业务并且满足不同场景下的恢复需求,是各数据库厂商需要关注的要点。本文将介绍几种国产数据库的备份恢复功能,以加深了解。 1、数据库备份恢复方案 数据库备份是生产…...
数据仓库: 2- 数据建模
目录 2- 数据建模2.1 维度建模2.1.1 维度建模的基本概念2.1.1.1 事实表 (Fact Table)2.1.1.2 维度表 (Dimension Table)2.1.1.3 维度 (Dimension)2.1.1.4 度量 (Measure) 2.1.2 维度建模的主要模型2.1.2.1 星型模型 (Star Schema)2.1.2.2 雪花模型 (Snowflake Schema)2.1.2.3 星…...

Tomcat 漏洞
一.CVE-2017-12615 1.使用burp抓包 把get改成put jsp文件后加/ 添加完成后访问 木马 然后木马的网址 在哥斯拉测试并且添加 添加成功 然后我们就成功进去啦、 二.弱口令 点击后输入默认用户名、密码:tomcat/tomcat 登陆之后上传一个jsp文件 后缀改成war 然后访问我…...
分布式消息队列Kafka
分布式消息队列Kafka 简介: Kafka 是一个分布式消息队列系统,用于处理实时数据流。消息按照主题(Topic)进行分类存储,发送消息的实体称为 Producer,接收消息的实体称为 Consumer。Kafka 集群由多个 Kafka 实…...

C# Unity 面向对象补全计划 七大原则 之 迪米特法则(Law Of Demeter )难度:☆☆☆ 总结:直取蜀汉
本文仅作学习笔记与交流,不作任何商业用途,作者能力有限,如有不足还请斧正 本系列作为七大原则和设计模式的进阶知识,看不懂没关系 请看专栏:http://t.csdnimg.cn/mIitr,查漏补缺 1.迪米特法则(…...

【C++】—— 类与对象(四)
【C】—— 类与对象(四) 6、赋值运算符重载6.1、运算符重载6.1.1、基础知识6.1.2、调用方法6.1.3、前置 与 后置 的重载6.1.4、注意事项6.1.5、<< 和 >> 运算符重载6.1.5.1、<< 和 >> 基础6.1.5.2、日期类 operator<< 的实…...
Qt无边框窗口,关闭后再show,鼠标等事件不响应问题解决办法
问题描述 使用Qt做了一个无边框界面,关闭后再打开,子控件的点击以及hover效果不可用。 setWindowFlags(windowFlags() | Qt::Dialog | Qt::FramelessWindowHint);//去掉标题栏解决方案: 在网上发现可以通过重写showEvent(QShowEvent* showE…...

StringJoiner更优雅创建含分隔符的字符序列
文章目录 1 why2 what3 how4 练习手段 1 why StringBuilder拼接包含分隔符的字符序列时,分隔符需要一个一个添加,或者需要手动删除末尾冗余的分隔符,代码不美观,不好看。 比如,单个字符串依次拼接时: Stri…...

线程池原理(一)线程池核心概述
更好的阅读体验 \huge{\color{red}{更好的阅读体验}} 更好的阅读体验 线程回顾 创建线程的方式 继承 Thread 类实现 Runnable 接口 创建后的线程有如下状态: NEW:新建的线程,无任何操作 public static void main(String[] args) {Thread…...
关于redisson的序列化配置
由于使用redisson来存储list,返回的数据格式总是不对 原因是配置的序列化格式不对 Bean(value "redissonDtClient") public RedissonClient redissonClient() {RedisConnectionProperties.RedisConfigEntity configEntity properties.getDt();log.inf…...
CentOS安装ax200驱动
如果内核低于5.1需要安装一下内核 详细移步:Centos7安装高版本内核 大致如下: rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm yum --enablerepoelrepo-ke…...
FFMPEG Mac版本编译
Mac下FFMPEG使用 There are a few ways to get FFmpeg on OS X. One is to build it yourself. Compiling on Mac OS X is as easy as any other *nix machine, there are just a few caveats(警告). The general procedure is get the source, then ./configure <flags&g…...
Reactive Programing与“响应式”
将Reactive Programing翻译为“响应式编程”,的确不好理解。什么是Reactive?Reactive被翻译为“反应”,其英文原意是“事物对变化信号的回应、反应”。我热了,空调自动开,这就是空调对我的Reaction,我和空调…...

Pinterest:从 Druid 到 StarRocks,实现 6 倍成本效益比提升
导读: 开源无国界,StarRocks 自开源以来,近3年的时间里已在全球数据技术领域崭露头角。我们欣喜地发现,越来越多的海外用户正在使用并积极推广着 StarRocks。为了促进知识共享,StarRocks中文社区将精选优秀文章与大家共…...

代码+视频,R语言VRPM绘制多种模型的彩色列线图
列线图,又称诺莫图(Nomogram),它是建立在回归分析的基础上,使用多个临床指标或者生物属性,然后采用带有分数高低的线段,从而达到设置的目的:基于多个变量的值预测一定的临床结局或者…...

Python 设计模式之工厂函数模式
文章目录 案例基本案例逐渐复杂的案例 问题回顾什么是工厂模式?为什么会用到工厂函数模式?工厂函数模式和抽象工厂模式有什么关系? 工厂函数模式是一种创建型设计模式,抛出问题: 什么是工厂函数模式?为什么…...
数据赋能(171)——开发:数据挖掘——概述、关注焦点
概述 数据挖掘是从大量的数据中,提取隐藏在其中的、事先不知道的、但潜在有用的信息的过程。 数据挖掘是数据分析过程中的一个核心环节。 数据挖掘的主要目的是从大量数据中自动发现隐藏的模式、关联和趋势,以揭示数据的潜在价值。数据挖掘技术可以帮…...

Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...