日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 对两列加唯一性束_oracle中创建unique唯一约束(单列和多列) 。

發(fā)布時間:2024/9/27 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 对两列加唯一性束_oracle中创建unique唯一约束(单列和多列) 。 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

oracle中的unique約束是用來保證表中的某一類,或者表中的某一類組合起來不重復(fù)的一種手段。我們在可以在創(chuàng)建表時或者創(chuàng)建好后通過修改表的方式來創(chuàng)建oracle中的unique約束。

下面是一些創(chuàng)建unique約束的例子:

create table unique_test

(id number,

fname varchar2(20),

lname varchar2(20),

address varchar2(100),

email varchar2(40),

constraint name_unique unique(fname,lname))

在這里我們建立了一個表unique_test,并將其中的fname和lname組合起來建立了一個唯一約束。

我們也還可以在表創(chuàng)建完成后手動的通過修改表的方式來增加約束,例如:

alter table unique_test

add constraint email_unique unique(email);

下面我們來往表里面插入數(shù)據(jù),

insert into unique_test(id,fname,lname) values(1,’德華’,'劉’)

這一行可以正常的被插入

因為我們在建立表時曾把fname和lname聯(lián)合起來作為一個約束,因為如果我們希望再次插入劉德華,

insert into unique_test(id,fname,lname) values(2,’德華’,'劉’)

是會出現(xiàn)如下錯誤的:

ORA-00001: 違反唯一約束條件 (SYS.NAME_UNIQUE)

但我們?nèi)绻臑槿缦轮?#xff1a;

insert into unique_test(id,fname,lname) values(2,’學(xué)友’,'張’);

又可以正常插入了。

有些朋友可能會有疑問,我們不是為email也建立的一個唯一約束嗎?為什么這兩行數(shù)據(jù)都沒有為email列賦值,也就是或兩行的email列都是空值,而插入也成功了呢?

這是因為一個空值(null)的含義是該列當(dāng)前的狀態(tài)是不存在,他永遠不可能會與另外一個空值相等。所以也就不存在違反唯一約束之說了。

總結(jié)

以上是生活随笔為你收集整理的oracle 对两列加唯一性束_oracle中创建unique唯一约束(单列和多列) 。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。