一个非常奇怪的违反唯一性约束的问题:

我在一个表中用下面的语句进行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中主键违反唯一,一个非常奇怪的违反唯一性约束的问题:相关推荐

  1. oracle中主键和唯一索引的区别说明

    上周六去参加上海Oracle WDP俱乐部沙龙的一次交流,其中提到了关于"Oracle中主键和唯一索引的区别",基本上大家都可以说上几个,在网上也可以找到,但是总感觉不太全,根据自 ...

  2. Oracle中主键和唯一索引的区别oracle中联合主键的作用

    在创建主键的同时会生成对应的唯一索引,主键在保证数据唯一性的同时不允许为空, 而唯一索引可以有一个为空的数据项,一个表中只能有一个主键,但是一个主键可以有多个字段,一个表中可以有多个唯一索引. 联合主 ...

  3. Oracle添加主键和唯一约束最佳实践

    经常有开发人员找DBA,需要把唯一索引改为普通索引,或者把主键改为唯一索引或普通索引... 主键属性:普通索引+唯一约束+not null约束 或者唯一索引+not null约束 唯一索引属性:普通索 ...

  4. Oracle中主键自增长

    最近在学习Oracle和MySql,MySql有自动配置主键自增长auto_increment,这样在输入数据的时候可以不考虑主键的添加,方便对数据库的操作. 在Oracle中设置自增长首先用到seq ...

  5. oracle中主键自增长,oracle 数据库主键自动增长方法

    oracle 数据库没有像 MYSQL一样有 自动ID增值 的功能,如要实现可以用触发器. 首先就是建立一个序列,序列有有自动增值的功能,再建立一个触发器. 如: 建立一个序列 CREATE SEQU ...

  6. oracle中主键创建的语法,Oracle中主键、外键、索引、序列、唯一性约束的创建

    1.主键的创建 方法一:直接在sql语句中声明字段主键约束 create table table_name (id type[length] constraint pk_name primary ke ...

  7. oracle中主键的建立,oracle 建立主键与索引

    一般的情况下,表的主键是必要的,没有主键的表可以说是不符合设计规范的. SELECT table_name FROM User_tables t WHERE NOT EXISTS (SELECT ta ...

  8. oracle 分布键,DWS使用技巧:根据ORACLE主键和唯一健批量修改DWS分布列字段的方法...

    问题背景: 在批量从ORACLE迁移到DWS的场景中,经常会结构迁移过程中,只迁移了表结构而没有根据ORACLE源库情况同时设置分布列字段的问题,这样会导致所有的表均自动使用第一个字段(可用作为分布列 ...

  9. mysql中主键约束和唯一约束的区别_主键约束和唯一性约束的区别

    1.主键约束(PRIMARY KEY) 1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键. 2) 是不可能(或很难)更新. 3) 主键列上没有任何两行具有相同值(即重复值),不允许空 ...

最新文章

  1. 如何获取公众号中html,[技巧] 如何获取公众号图文里的视频地址
  2. Blender基础入门学习教程 Learning Blender from Scratch
  3. [Android]webview直接加载网页允许JS,进度条,当前应用内跳转
  4. ubuntu安装和查看已安装
  5. 三种流行的数据库查询表记录数【转】
  6. Git之Stash(储藏)备份当前的工作区的内容
  7. C++/C--mmap()详解
  8. lintcode: 左填充
  9. 恩智浦智能车(CNYouth)
  10. thinkphp5地址的获取和修改接口过程
  11. Bugzilla的快速入门指南(全网最详细)
  12. html头像生成器,Personas – 免费的卡通风格头像生成器
  13. 「docker实战篇」python的docker爬虫技术-安卓模拟器(二)
  14. 数据治理(二):数据治理功能方面
  15. [08]ESP32+激光传感器VL53L1x移植与调试(附源码)
  16. 创建一个整型变量toes,并将toes设置为10.
  17. 【python初级】创建一块纯色画布
  18. 计算机的工作原理及中央处理器
  19. 中国电子设计自动化(EDA)软件行业未来发展趋势与投资前景分析报告22022-2028年版
  20. Oracle总结-学习这一篇就够了

热门文章

  1. Java Scanner findInLine()方法与示例
  2. 001潜入大数据Hadoop框架的世界
  3. android日历提醒小程序源码,微信小程序倒班日历简洁实用demo完整源码
  4. 复旦大学的计算机专业分数线,2018复旦大学分数线 各专业分数线是多少
  5. 关于编辑器EditPlus
  6. Vue清除定时器优化方案
  7. 数据库sql简单的优化方案
  8. Adb使用教程,看了教程后你也是玩机达人啦
  9. Windows 7 SP1整合补丁
  10. RAID 独立冗余磁盘阵列详解(RAID 0、RAID 1、RAID 5、RAID 10)