oracle中主键违反唯一,一个非常奇怪的违反唯一性约束的问题:
一个非常奇怪的违反唯一性约束的问题:
我在一个表中用下面的语句进行update时报违反唯一性约束的错误,如下
update yield.at_lotcalendar set enddate=to_date('24-12-2006 23:59:59','DD-MM-YYYY HH24:MI:SS') where AT_LOTCALENDARNAME='0651'
错误信息:
ORA-00001: unique constraint (YIELD.AT_LOTCALENDAR1) violated
奇怪就奇怪在这个字段不是主键,也没有唯一性约束,而所报的YIELD.AT_LOTCALENDAR1也只是一个非unique的index,表和索引的代码如下:
CREATE TABLE AT_LOTCALENDAR
(
CDOTYPEID NUMBER(10),
AT_LOTCALENDARID CHAR(16 BYTE) DEFAULT '0' NOT NULL,
CHANGECOUNT NUMBER(10),
CHANGEHISTORYID CHAR(16 BYTE),
DESCRIPTION VARCHAR2(255 BYTE),
ICONID NUMBER(10),
ISFROZEN NUMBER(10),
AT_LOTCALENDARNAME VARCHAR2(50 BYTE),
CUSTOMERID CHAR(16 BYTE),
STARTDATE DATE,
ENDDATE DATE,
LYEAR NUMBER(10),
WEEK NUMBER(10)
)
TABLESPACE YIELD
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 80K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCACHE
NOPARALLEL;
CREATE INDEX AT_LOTCALENDAR1 ON AT_LOTCALENDAR
(STARTDATE, ENDDATE)
NOLOGGING
TABLESPACE YIELD
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;
后来将59秒改成58秒就OK。
oracle中主键违反唯一,一个非常奇怪的违反唯一性约束的问题:相关推荐
- oracle中主键和唯一索引的区别说明
上周六去参加上海Oracle WDP俱乐部沙龙的一次交流,其中提到了关于"Oracle中主键和唯一索引的区别",基本上大家都可以说上几个,在网上也可以找到,但是总感觉不太全,根据自 ...
- Oracle中主键和唯一索引的区别oracle中联合主键的作用
在创建主键的同时会生成对应的唯一索引,主键在保证数据唯一性的同时不允许为空, 而唯一索引可以有一个为空的数据项,一个表中只能有一个主键,但是一个主键可以有多个字段,一个表中可以有多个唯一索引. 联合主 ...
- Oracle添加主键和唯一约束最佳实践
经常有开发人员找DBA,需要把唯一索引改为普通索引,或者把主键改为唯一索引或普通索引... 主键属性:普通索引+唯一约束+not null约束 或者唯一索引+not null约束 唯一索引属性:普通索 ...
- Oracle中主键自增长
最近在学习Oracle和MySql,MySql有自动配置主键自增长auto_increment,这样在输入数据的时候可以不考虑主键的添加,方便对数据库的操作. 在Oracle中设置自增长首先用到seq ...
- oracle中主键自增长,oracle 数据库主键自动增长方法
oracle 数据库没有像 MYSQL一样有 自动ID增值 的功能,如要实现可以用触发器. 首先就是建立一个序列,序列有有自动增值的功能,再建立一个触发器. 如: 建立一个序列 CREATE SEQU ...
- oracle中主键创建的语法,Oracle中主键、外键、索引、序列、唯一性约束的创建
1.主键的创建 方法一:直接在sql语句中声明字段主键约束 create table table_name (id type[length] constraint pk_name primary ke ...
- oracle中主键的建立,oracle 建立主键与索引
一般的情况下,表的主键是必要的,没有主键的表可以说是不符合设计规范的. SELECT table_name FROM User_tables t WHERE NOT EXISTS (SELECT ta ...
- oracle 分布键,DWS使用技巧:根据ORACLE主键和唯一健批量修改DWS分布列字段的方法...
问题背景: 在批量从ORACLE迁移到DWS的场景中,经常会结构迁移过程中,只迁移了表结构而没有根据ORACLE源库情况同时设置分布列字段的问题,这样会导致所有的表均自动使用第一个字段(可用作为分布列 ...
- mysql中主键约束和唯一约束的区别_主键约束和唯一性约束的区别
1.主键约束(PRIMARY KEY) 1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键. 2) 是不可能(或很难)更新. 3) 主键列上没有任何两行具有相同值(即重复值),不允许空 ...
最新文章
- 如何获取公众号中html,[技巧] 如何获取公众号图文里的视频地址
- Blender基础入门学习教程 Learning Blender from Scratch
- [Android]webview直接加载网页允许JS,进度条,当前应用内跳转
- ubuntu安装和查看已安装
- 三种流行的数据库查询表记录数【转】
- Git之Stash(储藏)备份当前的工作区的内容
- C++/C--mmap()详解
- lintcode: 左填充
- 恩智浦智能车(CNYouth)
- thinkphp5地址的获取和修改接口过程
- Bugzilla的快速入门指南(全网最详细)
- html头像生成器,Personas – 免费的卡通风格头像生成器
- 「docker实战篇」python的docker爬虫技术-安卓模拟器(二)
- 数据治理(二):数据治理功能方面
- [08]ESP32+激光传感器VL53L1x移植与调试(附源码)
- 创建一个整型变量toes,并将toes设置为10.
- 【python初级】创建一块纯色画布
- 计算机的工作原理及中央处理器
- 中国电子设计自动化(EDA)软件行业未来发展趋势与投资前景分析报告22022-2028年版
- Oracle总结-学习这一篇就够了