文档章节

对付已存在的无主键的表

pillsilly
 pillsilly
发布于 2014/08/06 19:59
字数 249
阅读 7
收藏 0

1. 复制表,删除表数据,如果数量大,可以rownum<2


create skype_sms_BAK  table AS SELECT * FROM skype_sms 
delete from skype_sms_BAK


我们将在备份表上进行增加主键的操作

2. 增加一个普通字段


alter table skype_sms_BAK add SKYPE_SMS_ID varchar2(50);


--此时由于表没有数据,所以可以直接alter主键


alter table skype_sms_BAK 
  add constraint PK primary key (SKYPE_SMS_ID);

3.拷贝所有原表的数据+上一个新增的id字段到bak表中,在这里,id选择的oracle自带的uuid


insert into skype_sms_bak select t.*  ,(select sys_guid() as skype_sms_id from dual ) from skype_sms t

4.删除原有表,再把bak表复制为原表

create skype_sms   table AS SELECT * FROM skype_sms_bak

5.由于原本的表就没有主键,所以原始的程序代码插入的时候肯定是没有主键生成策略的,为了让更改最小话,这里使用触发器完成主键策略.

create or replace trigger skype_sms_trigger       
before insert on skype_sms
for each row       
begin       
select sys_guid()  into :new.skype_sms_id from dual;      
end ;



© 著作权归作者所有

pillsilly
粉丝 2
博文 23
码字总数 45873
作品 0
杭州
私信 提问
无备份情况下恢复MySQL drop table

无备份情况下恢复MySQL drop table love wife & love life --Roger2017-08-0125 阅读 dropMySQLtable 本站文章除注明转载外,均为本站原创: 转载自 love wife & love life —Roger的Oracle&...

love wife & love life --Roger
2017/08/01
0
0
技术分享 | HASH_SCAN BUG 之迷惑行为大赏

原创: 胡呈清 前言 我们知道,MySQL 有一个老问题,当表上无主键时,那么对于在该表上做的DML,如果是以ROW模式复制,则每一个行记录前镜像在备库都可能产生一次全表扫描(或者二级索引扫描...

爱可生
07/09
37
0
MySQL主从复制延迟原因分析

导读 线上有个MySQL实例,存在严重的复制延迟问题,原因出乎意料。 线上有个MySQL 5.7版本的实例,从服务器延迟了3万多秒,而且延迟看起来好像还在加剧。 MySQL版本 Server version: 5.7.18...

898009427
2017/12/29
0
0
mysql-workbench 怎么修改数据

蒙圈了 mysql-workbench ce 我想修改某一条记录的某一个字段。navicat直接就能双击修改,sqlyog可以先设定为可编辑然后双击修改。 mysql-workbench就是read only了。。。 搜索了一下,说无主...

inuxor
2014/04/01
7.7K
2
jpa 操作无主键的数据库

spring boot jpa操作无主键的表时,在entity里要如何配置?现在启动的时候报错是: No identifier specified for entity:

hellotrms
2018/08/06
4.6K
3

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
4
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
5
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部