當前位置:首頁 » 編程語言 » sqlserver雙主鍵
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlserver雙主鍵

發布時間: 2022-06-30 23:36:11

sqlserver 有個2個相同主鍵 為何不報錯

首先:看看是否是組合鍵
其次:select distinct 主鍵欄位 from 表,判斷是否這個值是相同的
其次:主鍵是否建了,看看主鍵是否有生效
insert into t values(2,1..); --插入兩行相同的值試試看
最後:you know!

❷ 我用的SQLserver資料庫 一張表怎麼有兩個主鍵 還有張表一個主鍵都沒有 是不是每張表都要設主鍵

主鍵在表中不是必須的,但是為了設計規范每張表都有一個自增長主鍵。以便於以後查詢等功能的使用。
兩個主鍵是聯合主鍵,這個你查資料了解一下!

❸ 請問SQLserver中的主鍵和外鍵的作用

主鍵是對表的約束,保證數據的唯一性!
外鍵是建立表於表之間的聯系,方便程序的編寫!!

❹ 一個表可以設2個主鍵嗎

可以的 有聯合主鍵這一說的 具體建立方法如下

SQL建立主鍵有兩種方法:一種是在資料庫提供的GUI環境中建立,另一種是通過SQL語句執行建立
1.在資料庫提供的GUI環境中建立

輸入表信息後按Ctrl鍵同時選中多行,然後點上面的主鍵按鈕就行了。

2.通過SQL語句執行建立。又分兩種,一是在建表語句中直接寫,二是建表之後更改表結構。

1)在建表語句中直接寫:

Create Table 表名 (欄位名1 Int Not Null,
欄位名2 nvarchar(13) Not Null Primary Key (欄位名1, 欄位名2),
欄位名3…………
欄位名N………… )

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

////////////////////////////////////////////////////////////////////////////////

--刪除
alter table 你的表 drop constraint 主鍵名
go
--修改
ALTER TABLE 你的表 ALTER COLUMN 列名 你的類型
go
--增加
alter table 你的表 add constraint 主鍵名 primary key (列名)
go

設置默認值:

sqlserver的是

alter table students add constraint c_students_sex default '男' for Ssex

給該列添加約束之前先去掉該列上的約束

❺ sql server2005 在建立表時怎麼直接寫兩個主鍵

--使用SQL語句創建主鍵約束可以在創建表(Create
Table)或修改表(Alter
Table)時進行
創建。
--例創建表時
create
table
tablename
(
id
int
(CONSTRAINT
pk_id)
PRIMARY
KEY
)
--例修改表時
ALTER
TABLE
tablename
--修改表
ADD
CONSTRAINT
tb_PRIMARY
PRIMARY
KEY
CLUSTERED
(列名)
/*將你要設置為主鍵約束的列*/
--用命令創建默認值對象,並與表中欄位綁定.
--使用SQL語句創建主默認值對象可以在創建表(Create
Table)或修改表(Alter
Table)時進行
創建。
--例創建表時
create
table
tablename
(
id
int
DEFAULT
0
)
--例修改表時
ALTER
TABLE
tablename
--修改表
ADD
CONSTRAINT
tb_DEFAULT
DEFAULT
'10011'
FOR
列名
/*將你要設置為默認值對象的列*/
--用命令創建CHECK約束定義某欄位.
USE
銷售管理系統
--引入資料庫
ALTER
TABLE
銷售表
--修改表
ADD
CONSTRAINT
ck_sl
--創建檢查約束
CHECK
(數量
>=
1
and
數量
<=
10000)
--添加約束條件
--用命令創建規則對象,並與表中欄位綁定.
--創建規則使用CREATE
RULE語句創建
CREATE
RULE
RULE_AGE
--創建規則
AS
@AGE
!>
40
--規則條件不能大於40
CREATE
RULE
list_rule
--創建規則
AS
@list
IN
('1001',
'1002',
'1003')
--規則條件只能輸入1001、1002、1003
CREATE
RULE
pattern_rule
--創建規則
AS
@value
LIKE
'_
_-%[0-9]'
--規則條件在任意兩個字元的後面跟一個連字元和任意多個字元,並以
0

9
之間的整數結尾
--創建好一個規則後,必須使用綁定才能夠使用規則,一般情況下,規則可以綁定在用戶自定義數據類型或是數據列中。下面可以使用SQL
Server中的系統存儲過程sp_bindrule將規則綁定在數據表中。
EXEC
sp_bindrule
'RULE_AGE','操作員信息表.操作員年齡'
--用命令創建用戶自定義數據類型,並用該數據類型定義表中欄位.
--在「student」資料庫中,創建用來存儲郵政編碼信息的「postalcode」用戶定義數據類型。
--SQL語句如下:
USE
student
EXEC
sp_addtype
postalcode,'char(8)
','not
null'

❻ 怎樣在SQL SERVER設置雙主鍵或多個主鍵

首先一個表是不能有兩個主鍵的。但是可以有兩個欄位組合成一個主鍵,這就是為什麼有時候表裡為什麼會有兩個欄位都有主鍵的標志,那是因為他們組合成了一個主鍵了。我們可以先刪除了原來的主鍵再用類似下面SQL語句建立:

alter table 你的表名 add constraint pk_name primary key (欄位1,欄位2);

或者在表設計器裡面按住ctrl選中要設置主鍵的兩列再設置主鍵就OK了.

❼ SQLSERVER兩個欄位都是主鍵可以嗎

不行的,一個表只能有一個主鍵,你要想a0和a1都是主鍵,那麼只能讓他們成為 組合主鍵了,分開來是不行的

❽ 如何在sqlserver資料庫表中建立復合主鍵

方法一:創建表之後,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
方法三:建表後,右鍵-->設計,選中作為符合主鍵的列,選中之後右擊-->設為主鍵

❾ SQLserver的主鍵、外鍵……等五大鍵的作用和區別

主鍵就是可以唯一標示的,比如你的身份證號就是可以做主鍵,因為它一定唯一標示你,而你的姓名不能是主鍵,因為有重名的,不能唯一標示你。外鍵就是和你有關系,但唯一標示的卻是別人,比如你愛人的身份證號,當然這樣比喻不很貼切,只是好理解而已。