Navicat Lite

Oracle 创建触发器实现自增长

前提是你 提交于 2020-05-05 21:52:15
Oracle中没有主键,要实现自增长,需要创建触发器,每次插入数据的时候进行ID赋值。 环境:Oracle11,Navicat工具连接 创建了一个表,字段如下( 字段名,表名都需要大写,你小写了还无效。。。 ): -- 如果表中存在记录,先把原来的数据赋值 UPDATE VD_EVENTS_DATA SET ID = ROWNUM; -- 创建序列,设置初始值和每次增长值 CREATE SEQUENCE VD_EVENTS_DATA_ID_SEQ MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1000 NOCACHE; -- 创建触发器,请注意这个格式。。。 CREATE OR REPLACE TRIGGER VD_EVENTS_DATA_INS_TRG BEFORE INSERT ON VD_EVENTS_DATA FOR EACH ROW WHEN (NEW.ID IS NULL OR NEW.ID = 0 ) BEGIN SELECT VD_EVENTS_DATA_ID_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL; END ; / 如果出现下面错误: ORA-24344: success with compilation error 成功,但编译出错 你会发现你的触发器创建成功了

IDEA的database插件无法链接mysql的解决办法(08001错误)

非 Y 不嫁゛ 提交于 2020-05-05 19:54:30
1.问题 首先先说问题,用navicat链接数据库正常,mysql控制台操作正常,但是用IDEA的数据库插件链接一直报 08001 错误,具体见下图: 错误:Connection to eshop@localhost failed. [08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up. 2.原因   造成这个问题的原因是因为数据库驱动包的版本问题,与当前的数据库版本不兼容(我的是mysql5.7版本,而驱动是8.0的版本)   还有一些其他的情况,如提示timeZone不正确(或者是一串乱码)等大部分都是驱动的问题。 3.解决办法    既然知道了问题的原因,那解决办法也就简单了,根据自己的mysql版本下载相应的驱动包:     我的是 mysql 5.7 版本,所以我要下载mysql 5.x的驱动 ,具体的操作见下图:    我们再IDEA中创建与数据库的链接的时候,可以选择驱动的版本:     驱动下载完设置好以后,我们就可以再次测试连接了:          如果大家有遇到什么新的问题和解决办法,请评论 谢谢 来源: oschina 链接: https://my.oschina.net/u/4411210/blog/4267515

IDEA的database插件无法链接mysql的解决办法(08001错误)

╄→гoц情女王★ 提交于 2020-05-05 19:33:23
1.问题 首先先说问题,用navicat链接数据库正常,mysql控制台操作正常,但是用IDEA的数据库插件链接一直报 08001 错误,具体见下图: 错误:Connection to eshop@localhost failed. [08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up. 2.原因   造成这个问题的原因是因为数据库驱动包的版本问题,与当前的数据库版本不兼容(我的是mysql5.7版本,而驱动是8.0的版本)   还有一些其他的情况,如提示timeZone不正确(或者是一串乱码)等大部分都是驱动的问题。 3.解决办法    既然知道了问题的原因,那解决办法也就简单了,根据自己的mysql版本下载相应的驱动包:     我的是 mysql 5.7 版本,所以我要下载mysql 5.x的驱动 ,具体的操作见下图:    我们再IDEA中创建与数据库的链接的时候,可以选择驱动的版本:     驱动下载完设置好以后,我们就可以再次测试连接了:          如果大家有遇到什么新的问题和解决办法,请评论 谢谢 来源: oschina 链接: https://my.oschina.net/u/4257773/blog/4267507

plsql 跨表 update

牧云@^-^@ 提交于 2020-05-04 23:14:50
    接到新任务,对比两个程序、不同数据库、不同数据表、不同字段的值。 接到任务第一想法,如果我用一条sql搞定这个超跨区任务是不是很 NB。 很快,我就放弃了这个想法。毕竟,认清现实还是有必要的(一条sql横跨两台不同服务器,如有大神能做到,请指教 - )。 一、先用 Navicat 工具下的 - 数据传输 : 把两个不同服务器下、不同数据库下、不同表,搞到同一个库内。 到了同一数据库下,直面的问题就只有跨表修改这个问题了。 在不知道可以跨表update的前提下,想到来个中间表,把需要对比的两个字段搞到一个表中,在进行修改操作。转念想想,这么做对比后的中间表要同步到被修改表时候,还是个跨表问题。 二 、直接来吧 ~ 写个sql 试试 ~~ update + 两表名 UPDATE so_equipment_manage so, t_s_category T SET so.asset_name = T.NAME WHERE so.asset_type = T.code AND so.asset_name != T.NAME AND so.asset_type = 'A06A01A03'; 运行结果: 显然,上面这个sql 是不行的,update 后只能跟一个表名。 在逗号哪里就报错了。 再试一次 ~ 写个子查询,把 对比表写到后面去 UPDATE so_equipment

Mysql中使用mysqldump进行导入导出sql文件

大城市里の小女人 提交于 2020-05-03 21:48:41
纪念工作中的第一次删库跑路的经历 今天接到一个任务,是将一个测试库数据导到另一个测试库,然而我们公司的数据库是不让直连的,所以只能通过远程连接进行导库操作。 老大布置任务的时候让用dump命令进行操作,因为老大就是通过dump命令将数据库服务器上的数据定时备份到测试环境中的应用服务器上。 所以当时就有点懵逼。。。。。。啥时dump命令。然后求助度娘,才发现有mysqldump命令。这才发现了新大陆。然后一顿操作一直报连接不上本地mysql本服务器。 第一整这个,当时就懵了。所以就想着sql文件都有了,我直接用navicat导就行了。 说干就干,直接在需要导入的库新建一个库,就直接读sql导库,并且优哉游哉的等待。等到一会之后,navicat居然断开了连接,所以只能看看那些表没导入,然后手动重新 导入一下。正在我导的起劲的时候,突然开发群里面就各种数据问题,下游系统各种数据访问失败。这个时候才发现是我导数据的问题(这里有个小坑,我导入的时候选择的是我 新建的库,但是居然把我们的应用使用的库数据给覆盖了,百思不得其解呀!这个后续还需要实验)。顿时我就懵逼了。感觉自己快要被裁了(可是我才刚刚转正呀,难受!)。 然后就各种把原始数据瞎导入,然而navicat还一直没有响应,但是下游群里面一直催。我都想当场暴毙了,十分难受。 最后还是有经验的老大发现问题了。

Navicat Premium 12安装与激活

喜你入骨 提交于 2020-05-02 17:54:11
Navicat Premium 12安装与激活 Mysql数据库转换成SQLite数据库需要使用Navicat Premium软件,发现Navicat Premium的激活有些麻烦,因此通过该博文进行记录。 卸载与删除: https://www.cnblogs.com/mysterious-killer/p/10416739.html Navicat Premium安装与下载 百度云盘下载链接: https://pan.baidu.com/s/1Kf-qle7Ja8MwGYOrYaqMEQ 提取码:gnpj 安装与激活 (1)安装(先不要打开) navicat12024_premium_cs_x64安装路径可以选择默认或者自定义安装,安装后先不要打开。 (2)激活 按Win键和R键打开运行并输入cmd,依次输入如下命令: 命令1: cd /d E:\BaiduNetdiskDownload\Navicat Premium\Navicat Premium 12破 解补丁 解释:E:\BaiduNetdiskDownload\Navicat Premium\Navicat Premium 12破 解补丁 为破解补丁路径。 命令2: Patch.exe "D:\Program Files\PremiumSoft\Navicat Premium 12\navicat.exe" 解释

【数据库】Navicat Premium12远程连接MySQL数据库

故事扮演 提交于 2020-05-02 17:53:55
00. 目录 @[toc] 参考博客: https://blog.csdn.net/dengjin20104042056/article/details/95091506 01. 环境介绍 Navicat版本 : Navicat Premium12 数据库版本 : MySQL5.7和Oracle 11g 02. Navicat安装 请参考详细安装教程: 【Tools】Navicat Premium12安装和破解教程 03. MySQL开启远程登录权限 方法一: step1: 登录MySQL数据库 [root@localhost ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 78 Server version: 5.7.23 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates.

记录以下mysql5.7在win使用Navicat无法链接的问题

荒凉一梦 提交于 2020-05-02 17:00:50
1.前提 系统:win1o0 局域网服务器:ubuntu18.04 mysql版本:5.7 问题描述: 在ubuntu18.04下的shell 中使用mysql -uroot -p 是可以登陆的, 但是在win10下面呢 使用Navicat Premium12 无法链接 mysql5.7 2.解决办法 查了一下用户表,发现错误的无法链接的原因就是在这里, root用户的 plugin字段值是auth_socket , 如果使用用户+密码登陆 plugin字段的值应该是 mysql_native_password 。 mysql> select user, plugin from mysql.user; +-----------+-----------------------+ | user | plugin | +-----------+-----------------------+ | root | auth_socket | | mysql.sys | mysql_native_password | | dev | mysql_native_password | +-----------+-----------------------+ 执行一下sql 来修改: update mysql.user set plugin= ' mysql_native_password '

Windows下忘记mysql密码,重新配置

馋奶兔 提交于 2020-05-02 17:00:34
Windows下忘记mysql密码,重新配置 mysql 问题:作死把Navicat里面的连接删除,然后再重新建立连接,结果出现这个: 网上查了些资料,后面发现是自己的密码忘了,因此按照教程走一遍 先停掉sql服务,以便后续操作 net stop mysql 显示: 服务名无效。 请键入 NET HELPMSG 2185 以获得更多的帮助。 搜索后发现,是自己已经改过mysql名字 具体操作: 输入services.msc 找到mysql,发现名字变为了MySQL57 输入net stop MySQL57 跳过验证,直接进入到mysql进行修改密码 打开mysql安装目录:C:\Program Files\MySQL\MySQL Server 5.7\bin> 在标题栏直接输入cmd进入到对应的cmd窗口 输入mysqld --skip-grant-tables 结果 :提示失败(正常是这个窗口不能再输入了),如果是这样可以参考这篇博客的第二部分:2.需要重新设置root密码(忘记root密码) https://blog.csdn.net/qq_36735409/article/details/78032144 另外解决办法 : 参考: https://www.cnblogs.com/zhiliang9408/p/9851939.html 主要的问题是找到这里面说的my.ini文件

nvaicat mysql ssh 跳板机(堡垒机???)连接服务器

ⅰ亾dé卋堺 提交于 2020-05-02 16:09:43
跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一。 正常的登录流程 使用ssh命令登录跳板机; 登录跳板机成功后,在跳板机分配的终端中使用ssh命令再登录开发机,跳板机和开发机之间采用带密码的ssh验证,因此需要输入ssh私钥的密码。 ssh隧道(通过跳板机)连接mysql 案例: A服务器 B服务器 C服务器mysql 现在mysql服务器C只能通过内网访问,B服务器就能通过内网连接访问到mysql A服务器无法直接连接C服务器mysql,所以要通过跳板机(跳板机指的是B服务器)连接mysql 实现: 在A服务器下面执行命令 ssh -p {ssh_port} -i {rsa_file} -fNL {local_port}:{mysql_ip}:{mysql_port} {ssh_user}@{ssh_ip} ssh -p 22 -i ./id_rsa_jump -fNL 33060:mysql_ip:3306 jump@jump_ip # 实例 命令详解: -p {ssh_port}: 指定跳板机器的ssh服务的端口 -i {rsa_file}:指定连接跳板机的ssh公钥,由跳板机的ssh服务端生成,如果不指定公钥或者公钥验证失败则会弹出密码进行登录。 -f:需进行ssh认证 -N:只进行端口转发