1. 程式人生 > >如何在sqlserver資料庫表中建立複合主鍵

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

主鍵是資料庫表的一個重要屬性,建立主鍵可以避免表中存在完全相同的記錄,也就是說主鍵在一張表中的記錄值是唯一的。

建立主鍵有兩種方法:一種是在資料庫提供的GUI環境中建立,另一種是通過SQL語句執行建立,下面分別介紹。

1.在資料庫提供的GUI環境中建立(以SQL7為例)。

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

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

在建表語句中直接寫:

CreateTable表名(欄位名1IntNotNull,

欄位名2nvarchar(13)NotNullPrimaryKey(欄位名1,欄位名2),

欄位名3…………

欄位名N…………)

建表之後更改表結構:

CREATETABLE表名(欄位名1IntNotNull,

欄位名2nvarchar(13)NotNull

欄位名3…………

欄位名N…………)

GO

ALTERTABLE表名WITHNOCHECKADD

CONSTRAINT[PK_表名]PRIMARYKEYNONCLUSTERED

(

[欄位名1],

[欄位名2]

)

GO

相關推薦

如何在sqlserver資料庫建立複合

主鍵是資料庫表的一個重要屬性,建立主鍵可以避免表中存在完全相同的記錄,也就是說主鍵在一張表中的記錄值是唯一的。 建立主鍵有兩種方法:一種是在資料庫提供的GUI環境中建立,另一種是通過SQL語句執行建立,下面分別介紹。 1.在資料庫提供的GUI環境中建立(以SQL7為例)。

如何在資料庫建立複合

(即多個欄位同時作為主鍵)主鍵是資料庫表的一個重要屬性,建立主鍵可以避免表中存在完全相同的記錄,也就是說主鍵在一張表中的記錄值是唯一的。 建立主鍵有兩種方法:一種是在資料庫提供的GUI環境中建立,另一種是通過SQL語句執行建立,下面分別介紹。    1.在資料庫提供的GUI環境中建立(以SQL7為例)。 輸

資料庫不存在

select @rownum :[email protected] + 1 AS rowNum, a.* from (select @rowNum := 0) r, tableName a order by a.fileName 上面的查詢語句中顯示的內容就是將rowNum作為一個

如何獲取數據自增的值

兩個 包含 enc gpo into int acl sql emp 一、MySql數據庫   當向數據庫中插入一條數據的時候,默認是拿不到自增主鍵的值的, 需要設置如下兩個屬性才可以拿到主鍵值!   設置userGeneratedKeys屬性值為true:使用自動增長的主

資料庫為何要有複合(多

最近學習一點資料庫的基本知識,被一個問題困惑了許久:主鍵是唯一的索引,那麼為何一個表可以建立多個主鍵呢? 其實“主鍵是唯一的索引”這話有點歧義的。舉個例子,我們在表中建立了一個ID欄位,自動增長,並設

oracle 結構、表字段、資料、約束的相關操作

1.表字段的的操作1)增加欄位語法:alter table tablename add (column datatype [default value] [null/not null] ….);(比較增加主鍵約束:alter table table_name add cons

型別化(Type)的DataSet (使用強型別的DataSet。定義的資料庫一定要有,否則不能使用)

使用強型別的DataSet的時候一定要設定主鍵,假如說你在拖一個表到資料集來建立強型別DataSet的時候 而那個表又沒有設定主鍵 那麼你只有在資料集裡把你拖入的那個表刪除,重新拖入。或者點選你拖入到資料集的那個表,把滑鼠移動到 "表名+TableAdapter"欄 其實也

SQL 一個可不可以沒有

一個 cnblogs 兩個 簡單的 www. best 主鍵 htm logs 主鍵的作用: 1)保證實體的完整性; 2)加快數據庫的操作速度 3)在表中添加新記錄時,數據庫會自動檢查新記錄的主鍵值,不允許該值與其他記錄的主鍵值重復。 4) 數據庫自動按主鍵值的順序

資料庫外來建立

** Can’t create table ‘.\xyrensheju#sql-710_6.frm’ (errno: 150) ** 我建立外來鍵時,得到了這個錯誤,我對錶和欄位檢查了又檢查,始終沒有發現問題出現在哪裡,百度了很多下,終於找到了解決的辦法,是我的主表的複合主鍵索引沒

oracle新建 新增備註 新增 建立索引

例如新建表twf_processversion 1.新建表 create table TWF_PROCESSVERSION (   FLDPROCESSID   VARCHAR2(64),   FLDID          VARCHAR2(32) not null,  

SQL Server 向資料庫新增

        SQL Server 資料庫,向已設定主鍵的資料庫表中插入新一列,並設為主鍵。         首先從基礎知識開始看,         建表: create table 表名

數據庫創建(包括創建,外,非空列,唯一)

分享 建立 包括 直接 外鍵約束 多個 rim 但是 spa 創建表(包括創建主鍵,外鍵,非空列,唯一) - PROS - 博客園 http://www.cnblogs.com/CodingArt/articles/1621921.html ***************

mysql資料庫基礎(2)索引、複合、外來

增、刪、改、查 加“”表示為普通字元 mysql> insert into  t9 values("NULL",21,"game,flim"); +++++++++++++++++++++++++++++++ 新增新欄位 mysql> alter table  t4

SQL的每一張都必須設有

說明 class 行數 資源 合並 ESS 有意義 主鍵 鏈接 問題描述:公司的數據庫表有時候會看到沒有主鍵的,SQL中的每一張表都必須設有主鍵嗎? 主鍵的作用: 1)保證實體的完整性; 2)加快數據庫的操作速度; 3)在表中添加新記錄時,數據庫ACCESS會自動檢

Oracle查詢沒有

SELECT * FROM user_tables A WHERE NOT EXISTS ( SELECT * FROM user_constraints b WHERE A .table_name = b.table_name AN

[資料庫]聯合複合

在我的認知裡面,聯合主鍵和複合主鍵其實是一個意思,所以在這裡我統稱為聯合主鍵 其實這個不難理解,為什麼要有聯合主鍵,因為當只有一個欄位作為主鍵時,會有重複的情況,這時需要有2個(以上)的欄位共同作為主鍵,也就是作為記錄的唯一標識。 create tabl

sqlserver檢視沒有值但是想進行分組計數查詢時該怎麼處理?

sqlser的view平時用的很多了,但是一直都是當做一個虛擬表格來使用。 最近碰到一個需求,要求把原有的資料進行分組查詢,同時還需要進行計數統計。 原有邏輯就是通過entity和view配合直接顯示在頁面上,在view裡沒有主鍵值,所以顯示新資料時總是達不到要求, 因此將對映表中的ID加入view裡,

Hibernate處理無的問題

前兩天同事讓我配置一個表的hbm檔案,麻煩的是這個表沒有Primary Key。今天在hibermate.org.cn找到解決方法,明天再去實踐 :) 主鍵是必須有的,要麼是單欄位的id,要麼是組合的composite-id,這一點可以從hibernate-mapping-

sql建立的時候設定、標識、欄位欄位額外屬性(如說明)以及預設值

USE [DBName] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[TabStudent]

hibernate基於annotation(註解)的方式建立資料庫以及儲存資料到資料庫(重要)

在這裡建立專案後要把相關jar包與資料庫相關的jar包引入,並且配置好hibernate.cfg.xml檔案,這個專案採用的資料庫名稱是hibernate_anno.再建立一個實體類User,我們用的是註解的方式,所以不用像上篇文章中建立一個實體類的配置檔案,可以直接在實體類