1樓:匿名使用者
create table [userrole] (a int not null,
b int not null, c int not null,
primary key(a,b)
) ;這是在查詢分析器裡執行的。
如果手工建表的話,只需按住ctrl鍵同時選擇兩個欄位就可以設定複合主鍵了。
2樓:匿名使用者
企業管理器中,設計表,按住ctrl選擇欄位,再點設定鍵值的按鈕就搞定了。
其實就是複選操作,上面幾位說的應該也是對的,只是他們有指令碼實現。
3樓:匿名使用者
create table [dbo].[t]([a] [int] not null,
[b] [int] not null,
[n] [nvarchar](100) null,constraint [pk_t] primary key clustered
([a] asc,
[b] asc
)with (ignore_dup_key = off) on [primary]
) on [primary]
怎樣在sql server中建立複合主鍵
4樓:普實軟體
方法一:建立表之後
alter table table_name add primary key(欄位1,欄位2)
方法二:create table 表名 (欄位名1 int not null,
欄位名2 nvarchar(13) not null欄位名3…………
欄位名n…………)
goalter table 表名 with nocheck addconstraint [pk_表名] primary key nonclustered
( [欄位名1],
[欄位名2]
) go
5樓:匿名使用者
sql server建立複合主鍵的2種方法建立複合主鍵: 方法一:建立表之後,alter table table_name add primary key(欄位1,欄位2) 方法二:
create table 表名 (欄位名1 int not null, 欄位名2 nvarchar(13) not null 欄位名3………… 欄位名n…………) go alter table 表名 with nocheck add constraint [pk_表名] primary key nonclustered ( [欄位名1], [欄位名2] ) go
6樓:匿名使用者
create table test
(id int primary key,
id1 int primary key,
co2 varchar(max))
7樓:匿名使用者
選擇2列然後點設定主鍵
怎麼在已有表上設定複合主鍵(表中已有主鍵,還要在加幾個主鍵)用sql語句
8樓:匿名使用者
資料庫表只能有一個主鍵,
你要再想加的話,只能用唯一索引 + 非空約束即可。
9樓:流浪雲風
例如:已有一個表test_key,其中a1列為主鍵。
create table test_key
(a1 varchar2(3) not null,
a2 varchar2(3),
b1 varchar2(3),
b2 varchar2(3)
);alter table test_key
add constraint pk_test_key primary key (a1)
using index;
現在要將a2,b1也增加到主鍵中與原有的a1一起組成複合主鍵。語句如下:
alter table test_key
drop constraint pk_test_key cascade;
alter table test_key
add constraint pk_test_key primary key (a1, a2, b1)
using index;
這樣就可以了。
sql server 2008如何在建立了表之後設定複合主鍵
10樓:匿名使用者
create table t
(a int,
b int,
c int,
d int
)--**(可空列不能建立主鍵,所以先修改為not null)
alter table t alter column a int not null
alter table t alter column b int not null
alter table t alter column c int not null
alter table t add constraint pk_t primary key clustered(a,b,c)
--或者
--選中表->右鍵->設計->選擇列(按ctrl多選)->右鍵->設定主鍵->儲存
在sql中,如何在複合主鍵上創立外來鍵?
11樓:糖糖寳寳
語法:①建立時:create table sc (studentno int,
courseid int,
score int,
foreign key (courseid) );
②修改時:
alter table news_info[子表名] add constraint fk_news_info_news_type[約束名] foreign key (info_id)[子表列] references news_type[主表名] (id)[主表列] 。
sql server 怎麼建立聯合主鍵?
12樓:匿名使用者
建立聯合主鍵有兩種方式:
一種是在建表時就寫出,語句如下:
create table 表名 (欄位名1 int not null,
欄位名2 nvarchar(13) not null primary key (欄位名1, 欄位名2),
欄位名3…………
欄位名n………… )
另一種是在建表後更改,語句如下:
alter table 你的表名 add constraint pk_你的表名 primary key (欄位1,欄位2)
alter table 表名 with nocheck add
constraint [pk_表名] primary key nonclustered
[欄位名1],
[欄位名2]
建立聯合主鍵還可以這樣寫:
create table huayunkeji_today(device_id int , year int, month int, day int, hour int, temperature float, humidity float,
primary key(device_id,year,month,day,hour));
13樓:金坷垃
一、sql server建立聯合主鍵方法:
1、在建表時就寫出,語句如下:
create table 表名 (欄位名1 int not null,
欄位名2 nvarchar(13) not null primary key (欄位名1, 欄位名2),
欄位名3…………
欄位名n………… )
2、在建表後更改,語句如下:
alter table 表名 with nocheck add
constraint [pk_表名] primary key nonclustered
[欄位名1],
[欄位名2]
二、聯合主鍵的好處:
用2個欄位(或者多個欄位,後面具體都是用2個欄位組合)來確定一條記錄,說明,這2個欄位都不是唯一的,2個欄位可以分別重複,這麼設定的好處,可以很直觀的看到某個重複欄位的記錄條數。
三、使用聯合主鍵情況:
比如,你的訂單表裡有很多欄位,一般情況只要有個訂單號bill_no做主鍵就可以了,但是,現在要求可能會有補 充訂單,使用相同的訂單號,那麼這時單獨使用訂單號就不可以了,因為會有重複。那麼你可以再使用個訂單序列號bill_seq來 作為區別。把bill_no和bill_seq設成聯合主鍵。
即使bill_no相同,bill_seq不同也是可以的。
例子如下:
主鍵a跟主鍵b組成聯合主鍵,主鍵a跟主鍵b的資料可以完全相同,聯合就在於主鍵a跟主鍵b形成的聯合主鍵是唯一的。
下例主鍵a資料是1,主鍵b資料也是1,聯合主鍵其實是11,這個11是唯一值,絕對不充許再出現11這個唯一值。(這就是多對多關係)
主鍵a資料 主鍵b資料
1 1
2 2
3 3
主鍵a與主鍵b的聯合主鍵值最多也就是
11 12
13 21
22 23
31 32
14樓:文件類共創空間
參考**如下:
create table t(id int not null,id2 int not null ,constraint pk_t primary key(id,id2))
聯合主鍵用於欄位中內容都可重複的表。
如公司部門人員表,裡面包含部門名,職工姓名等欄位, 每個部門中的人無重名,部門間可能有重名,如果設部門名為主鍵,則部門裡有不止一個人,部門名有重複,如果設姓名為主鍵,則部門間人員可能有重名,也不唯一。
將部門名和職工姓名一起設為主鍵,這兩個欄位加起來不可能重複。
15樓:匿名使用者
可直接用sql語句。
一種是在建表時就寫出,語句如下:
create table 表名 (欄位名1 int not null,
欄位名2 nvarchar(13) not null primary key (欄位名1, 欄位名2),
欄位名3…………
欄位名n………… )
另一種是在建表後更改,語句如下:
alter table 表名 with nocheck addconstraint [pk_表名] primary key nonclustered
([欄位名1],
[欄位名2])
16樓:匿名使用者
聯合主鍵就是確定一條記錄的唯一性啊
比如這種時候
商品品牌 商品型號
諾基亞 920
三星 note2
諾基亞 8088
比如這樣商品品牌可能有重複,都是諾基亞,但是諾基亞廠商生產的商品型號是不會重複的
也比如,可能好多品牌都有920這個型號,但是一個品牌只有一個920的型號
所以就靠這樣的聯合主鍵來確定這條記錄的唯一性建立方法如下
create table product(pro_name varchar(20),pro_type varchar(20),primary key (pro_name,pro_type));這就是隨便給你舉個例子
判斷主鍵是否存在,存在則刪除,用SQL怎麼寫
主要是bai 查詢all tables表的dutable name和owner,如果表存在zhi,dao則執行execute immediate drop table table name sql 版 判斷表是否存在,如果存在則刪權除declarenum number beginselect cou...
SQL裡面怎麼去除重複的
建議你分步驟做 第一步,select into b from 表 where 1 2 給 b 表增加一個不重複的關鍵字索引 值1 索引然後再 select into b from 表 這樣就過濾掉了 值1 的重複項 第二步,你使用select 值2 count 值1 from 表 group by ...
下面這句怎麼修改可以在SQL裡面執行
1.datediff d now adstopdate 改成 datediff d getdate adstopdate 在sql裡沒有now 這個函式。2.datediff d now adstopdate 改成。sql修改語句,新手求助 update 表名。set 姓名 華哥 要改成什麼wher...