oracle如何知道資料庫表中哪個欄位設定了唯一性約束

2021-03-30 15:20:39 字數 3699 閱讀 1882

1樓:匿名使用者

select *

from user_constraints ; 這樣可以查出所有的使用者表的約束 你可以通過where條件指定你的那個約束 找出表

2樓:匿名使用者

select a.constraint_name,a.table_name,a.column_name

from user_cons_columns a,user_constraints b

where a.constraint_name=b.constraint_name and b.

constraint_type='p' and b.table_name='你的表名';

3樓:匿名使用者

select object_name,object_type,status from user_objects;

oracle資料庫中怎麼設定一個欄位的唯一性

4樓:似水年華

建表後可以增加約束

alter table table_nameadd constraint constraint_nameunique (column1, column2, ... , column_n);

建表語句中可以增加欄位約束

create table table_name(  column1      number not null,column2      number not null,column3      varchar2(50),constraint constraint_name unique (column2) --定義唯一性約束);

資料庫中怎麼設定欄位的唯一約束?

5樓:匿名使用者

1. 建表時加上唯一性約束

create table `t_user` (

`id` int(11) not null auto_increment,  -- 自增

`username` varchar(18) not null unique,  -- 唯一性約束

`password` varchar(18) not null,

primary key (`id`)

) engine=innodb auto_increment=1018 default charset=gbk;

2.給已經建好的表加上唯一性約束

alter table `t_user` add unique(`username`);

參考資料

csdn.csdn[引用時間2018-1-9]

oracle資料庫中怎麼設定一個欄位的唯一性?

6樓:

有兩種方法:

1. 將欄位設定為主碼(一個表只能定義一個主碼):

a.建立表時設定主碼:語句格式

create teable 表名( 欄位名 型別及長度 primary key,...)

b.建立完表後給表新增主碼(前提條件:表無主碼,且將要設定為主碼的列必須不允許空值、已存在的值不允許重複)

alter table 表名 add primary key(列名)

2. 設定欄位為唯一值約束(一個表可以定義多個唯一值約束):

a. 建立表時設定唯一值約束

create table 表名(... , 欄位名 型別及長度 unique, ...)

b.建立完表後新增唯一值約束(前提條件:將要設定唯一值約束的列已存在的值必須不重)

alter table 表名 add unique(列名)

7樓:匿名使用者

1.設定成主鍵 primary key(欄位)

2. 在建立表中加入constraint 表名 unique(欄位)

8樓:

create table t_a

(id int unique;

sname varchar2(20 char))

9樓:無鹽一對

可以設定唯一索引,但是null值是可以重複的

檢視oracle表中哪些欄位唯一約束

怎麼查oracle某一張表的哪些資料違反了唯一性約束 10

10樓:

違反唯一性約束的資料是插入不到資料庫中的,表中已經存在的資料是沒正常的資料,只能根據報錯資訊看插入的時候什麼欄位導致的。

oracle唯一性約束的查詢

11樓:匿名使用者

select

user_cons_columns.constraint_name as 約束名,

user_cons_columns.table_name as 表名,

user_cons_columns.column_name as 列名,

user_cons_columns.position as 位置

from

user_constraints

join user_cons_columns

on (user_constraints.constraint_name

= user_cons_columns.constraint_name)

where

constraint_type = 'p';

注: 最後那裡的 where 填寫的條件的注意:

c (check constraint on a table) c 表示 check 約束。

p (primary key) p 表示主鍵

u (unique key) u 表示唯一

r (referential integrity) p 表示引用(外來鍵)

v (with check option, on a view)

o (with read only, on a view)

12樓:

知道表名就行了:

select * from user_constraints where table_name='你的表名';

表名要全部大寫,如果你的資料庫設定了忽略大小寫的話就不用了你看看user_constraints 表就知道了,你說的主鍵等約束都有

如何在資料庫表中,將兩欄位設定成唯一性約束,比如student表中,將id和room-id設定成唯

13樓:★黑夜王子

把它們建成主鍵就可以了。如果這兩個欄位是可空的,那就建唯一索引。

如何設定資料庫表中列值的唯一性

14樓:匿名使用者

第一種用sql語句如:alter table [administrator] add constraint pk_administrator_id primary key(id)

第二種在企業管理器表設計裡設定

15樓:夠苦夠累才夠味

加一個主鍵約束就可以了。可以直接用視覺化工具加。這樣方便快捷。主鍵的屬性就是唯一且不能為空。

16樓:匿名使用者

用約束sql設計裡面有

oracle資料庫中刪除了大量資料後表空間的大小怎

資料是存放在資料檔案中的,不是直接寫在物理硬碟上,資料檔案是無法自動縮小專的,分配 屬了多大就是多大,用下面的sql可以查出表空間的具體使用情況,刪了大量資料後應該有一個或幾個表空間出現大量空閒。select t.tablespace name,to char nvl t.user bytes 10...

為什麼在Oracle資料庫中能查到表的資料,而在程式中卻提示「表或檢視不存在」,不解啊

在表得名字前加個域名試試,比方說這是建立在 user a 賬戶下的表test 試一下 select from user a.test 重啟服務試試 呀 如果還不行的話 你列印sql語句看看 把列印的sql語句在資料庫執行下 然後你就知道答案了 是不是你的語句寫得不對,或是你的程式寫錯了呢!因為你使用...

請問如何查詢oracle資料庫中是否有某個表的

1 看使用者的表的資訊如同marliuang所說,不再贅述。當然了你用a登入後也可以用命令 selecttnamefromtab 檢視專。2 顯示亂碼是因為oracle中的回屬收站 recyclebin 的緣故,為了防止使用者誤刪除,oracle引入了 站這一概念,你可以使用命令 purgerecy...