<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>Khóa chính PRIMARY KEY trong SQL Server</title>
<meta name="description" content="Khóa chính PRIMARY KEY trong SQL Server - Savefile - Tin Tức -...">
<meta name="author" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :.">
<meta name="copyright" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :. [admin@nguoicodonvn2008.info]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Khóa chính PRIMARY KEY trong SQL Server">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;khoa-chinh-primary-key-trong-sql-server-6852.html">
<meta property="og:site_name" content=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.">
<meta property="og:url" content="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/khoa-chinh-primary-key-trong-sql-server-6852.html">
<link rel="shortcut icon" href="https://nguoicodonvn2008.info/favicon.ico">
<link rel="canonical" href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/khoa-chinh-primary-key-trong-sql-server-6852.html">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/karaoke-dual/" title="Tin Tức - Karaoke Dual" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nhac-tre/" title="Tin Tức - Nhạc trẻ" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tru-tinh/" title="Tin Tức - Trữ tình" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nuoc-ngoai/" title="Tin Tức - Nước ngoài" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/remix/" title="Tin Tức - Remix" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tam-su-tinh-yeu/" title="Tin Tức - Tâm sự tình yêu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tho-suu-tam/" title="Tin Tức - Thơ sưu tầm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/cuoc-song/" title="Tin Tức - Cuộc sống" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/phan-mem/" title="Tin Tức - Phần mềm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/kien-thuc-may-tinh/" title="Tin Tức - Kiến thức máy tính" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/hoc-tap/" title="Tin Tức - Học tập" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tai-lieu/" title="Tin Tức - Tài liệu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://nguoicodonvn2008.info/themes/default/css/news.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">.&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.</h2>
		<p class="pull-right"><a title=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;." href="https://nguoicodonvn2008.info/">https://nguoicodonvn2008.info</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Khóa chính PRIMARY KEY trong SQL Server</h1>
		<ul class="list-inline">
			<li>Thứ hai - 06/03/2023 23:42</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="Khóa chính PRIMARY KEY trong SQL Server" src="https://st.quantrimang.com/photos/image/2018/03/16/ms-sql-server-group-by-size-80x80-znd.jpg" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p style="text-align: justify;"><strong>Khóa chính SQL Server&nbsp;</strong>là gì?&nbsp;<strong>Tạo khóa chính trong SQL Server</strong>&nbsp;như thế nào? Hãy cùng Quantrimang.com tìm hiểu những điều cần biết về khóa chính trong SQL nhé!</p>

<h2 style="text-align: justify;">Khóa chính - Primary Key là gì?</h2>

<ul>
	<li style="text-align: justify;">Trong SQL Server, khóa chính là nhân tố ràng buộc xác định duy nhất từng hàng trong bảng. Nó đảm bảo tính toàn vẹn của dữ liệu trong bảng.</li>
	<li style="text-align: justify;">Một bảng có thể chỉ bao gồm một khóa chính.</li>
	<li style="text-align: justify;">Một khóa chính có thể được xác định trên một cột hoặc nhiều cột được gọi là khóa chính tổng hợp.</li>
	<li style="text-align: justify;">Một khóa chính không thể vượt quá 16 cột và tổng chiều dài của khóa là 900 byte.</li>
	<li style="text-align: justify;">Khóa chính xác định duy nhất mỗi hàng trong bảng. Nó thường được xác định trên cột nhận dạng.</li>
	<li style="text-align: justify;">Cột khóa chính không cho phép null hoặc trùng lặp giá trị. Nó sẽ phát sinh lỗi nếu bạn làm việc này.</li>
	<li style="text-align: justify;">Tất cả các cột được xác định trong khóa chính phải là cột Not Null.</li>
	<li style="text-align: justify;">Nếu nhóm hoặc không nhóm không được chỉ định, thì một chỉ mục nhóm duy nhất cho cột khóa chính sẽ được tạo nếu không có chỉ mục nhóm nào trên bảng. Điều này làm cho việc truy xuất dữ liệu nhanh hơn bất cứ khi nào cột khóa chính được đưa vào truy vấn.</li>
</ul>

<h2 style="text-align: justify;">Khóa chính trong SQL Server là gì?</h2>

<p style="text-align: justify;">Trong SQL Server (Transact-SQL), khóa chính là một trường hoặc kết hợp nhiều trường và được xác định là một bản ghi duy nhất. Không trường nào trong khóa chính được chứa giá trị NULL. Một bảng chỉ có duy nhất một khóa chính. Khóa chính có thể được định nghĩa bằng lệnh&nbsp;CREATE TABLE&nbsp;hoặc lệnh&nbsp;ALTER TABLE.</p>

<h2 style="text-align: justify;">Tạo khóa chính - bằng lệnh CREATE TABLE</h2>

<p style="text-align: justify;"><strong>Cú pháp tạo khóa chính bằng lệnh CREATE TABLE</strong></p>

<pre id="pre0" style="text-align: justify;">
CREATE TABLE ten_bang
(
cot1 kieu_du_lieu &#91; NULL | NOT NULL &#93; &#91; PRIMARY KEY &#93;,
cot2 kieu_du_lieu &#91; NULL | NOT NULL &#93;,
...
);</pre>

<p style="text-align: justify;">hoặc</p>

<pre id="pre1" style="text-align: justify;">
CREATE TABLE ten_bang
(
cot1 kieu_du_lieu &#91; NULL | NOT NULL &#93;,
cot2 kieu_du_lieu &#91; NULL | NOT NULL &#93;,
…
CONSTRAINT ten_rang_buoc PRIMARY KEY (cot1, cot2, … cot_n)
);</pre>

<p style="text-align: justify;"><strong>Ví dụ tạo khóa chính bằng lệnh CREATE TABLE</strong></p>

<pre id="pre2" style="text-align: justify;">
CREATE TABLE nhanvien
( nhanvien_id INT PRIMARY KEY,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50), NOT NULL,
luong MONEY
);</pre>

<p style="text-align: justify;">Ở ví dụ này, khóa chính cho bảng nhanvien được tạo thành từ 1 trường là nhanvien_id. Ngoài ra có thể tạo khóa chính như sau:</p>

<pre id="pre3" style="text-align: justify;">
CREATE TABLE nhanvien
( nhanvien_id INT,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50), NOT NULL,
luong MONEY
CONSTRAINT nhanvien_pk PRIMARY KEY (nhanvien_id)
);</pre>

<p style="text-align: justify;">Bây giờ là ví dụ tạo khóa chính có nhiều hơn 1 trường trong SQL Server.</p>

<pre id="pre4" style="text-align: justify;">
CREATE TABLE nhanvien
( ho VARCHAR(50) NOT NULL,
ten VARCHAR(50), NOT NULL,
luong MONEY
CONSTRAINT nhanvien_pk PRIMARY KEY (ho, ten)
);</pre>

<p style="text-align: justify;">Ở ví dụ này, chúng ta đã tạo khóa chính tạo thành từ 2 cột là&nbsp;<code>ho</code>&nbsp;và&nbsp;<code>ten</code>. 2 trường này sẽ xác định một cách duy nhất cho bản ghi trong bảng nhanvien.</p>

<h2 style="text-align: justify;">Tạo khóa chính - bằng lệnh ALTER TABLE</h2>

<p style="text-align: justify;">Chỉ có thể tạo khóa chính bằng lệnh ALTER TABLE ở các cột đã được định nghĩa là NOT NULL. Nếu cột cho phép giá trị NULL, sẽ không thể thêm khóa chính nếu không xóa hoặc tạo lại bảng.</p>

<p style="text-align: justify;"><strong>Cú pháp tạo khóa chính bằng lệnh ALTER TABLE</strong></p>

<pre id="pre5" style="text-align: justify;">
ALTER TABLE ten_bang
ADD CONSTRAINT ten_rang_buoc PRIMARY KEY (cot1, cot2, … cot_n);</pre>

<p style="text-align: justify;"><strong>Ví dụ tạo khóa chính bằng lệnh ALTER TABLE</strong></p>

<pre id="pre6" style="text-align: justify;">
ALTER TABLE nhanvien
ADD CONSTRAINT nhanvien_pk PRIMARY KEY (nhanvien_id);</pre>

<p style="text-align: justify;">Trong ví dụ này, ta tạo khóa chính<em>&nbsp;nhanvien_pk</em>&nbsp;cho bảng nhanvien có sẵn, gồm trường&nbsp;<em>nhanvien_id.</em>&nbsp;Lưu ý là trường&nbsp;<em>nhanvien_id</em>&nbsp;phải được định nghĩa là NOT NULL trước đó, nếu không sẽ phải xóa và tạo lại bảng và định nghĩa trường này là NOT NULL.</p>

<p style="text-align: justify;">Có thể tạo khóa chính với nhiều hơn 1 trường như trong ví dụ sau.</p>

<pre id="pre7" style="text-align: justify;">
ALTER TABLE nhanvien
ADD CONSTRAINT nhanvien_pk PRIMARY KEY (ho, ten);</pre>

<p style="text-align: justify;">Khóa chính cho bảng&nbsp;<em>nhanvien</em>&nbsp;gồm 2 trường là họ và tên. Cả 2 phải được định nghĩa là NOT NULL.</p>

<h2 style="text-align: justify;">Xóa khóa chính trong SQL Server</h2>

<p style="text-align: justify;"><strong>Cú pháp xóa khóa chính bằng lệnh ALTER TABLE</strong></p>

<pre id="pre8" style="text-align: justify;">
ALTER TABLE ten_bang
DROP CONSTRAINT ten_rang_buoc;</pre>

<p style="text-align: justify;"><strong>Ví dụ xóa khóa chính bằng lệnh ALTER TABLE</strong></p>

<pre id="pre9" style="text-align: justify;">
ALTER TABLE nhanvien
DROP CONSTRAINT nhanvien_pk;</pre>

<p style="text-align: justify;">Ví dụ trên xóa khóa chính&nbsp;<em>nhanvien_pk</em>&nbsp;trong bảng&nbsp;<em>nhanvien</em>.</p>

<h2 style="text-align: justify;">Vô hiệu hóa khóa chính trong SQL Server</h2>

<p style="text-align: justify;"><strong>Cú pháp vô hiệu hóa khóa chính bằng lệnh ALTER INDEX</strong></p>

<pre id="pre10" style="text-align: justify;">
ALTER INDEX ten_rang_buoc ON ten_bang
DISABLE;</pre>

<p style="text-align: justify;"><strong>Ví dụ vô hiệu hóa khóa chính bằng lệnh ALTER INDEX</strong></p>

<pre id="pre11" style="text-align: justify;">
ALTER INDEX nhanvien_pk ON nhanvien
DISABLE;</pre>

<p style="text-align: justify;">Ví dụ trên vô hiệu hóa khóa chính<em>&nbsp;nhanvien_pk</em>&nbsp;trong bảng&nbsp;<em>nhanvien</em>.</p>

<h2 style="text-align: justify;">Kích hoạt khóa chính trong SQL Server</h2>

<p style="text-align: justify;"><strong>Cú pháp kích hoạt khóa chính bằng lệnh ALTER INDEX</strong></p>

<pre id="pre12" style="text-align: justify;">
ALTER INDEX ten_rang_buoc ON ten_bang
REBUILD;</pre>

<p style="text-align: justify;"><strong>Ví dụ kích hoạt khóa chính bằng lệnh ALTER INDEX</strong></p>

<pre id="pre13" style="text-align: justify;">
ALTER INDEX nhanvien_pk ON nhanvien
REBUILD;</pre>

<p style="text-align: justify;">Ví dụ trên kích hoạt lại khóa chính<em>&nbsp;nhanvien_pk</em>&nbsp;của bảng&nbsp;<em>nhanvien</em></p>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				Quantrimang.com
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/khoa-chinh-primary-key-trong-sql-server-6852.html" title="Khóa chính PRIMARY KEY trong SQL Server">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/khoa-chinh-primary-key-trong-sql-server-6852.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; .&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.
		</div>
		<div id="contact">
			<a href="mailto:admin@nguoicodonvn2008.info">admin@nguoicodonvn2008.info</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://nguoicodonvn2008.info/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
		</script>
		<div class="car-top">
  <span><img src="https://nguoicodonvn2008.info/themes/default/images/car.png" alt=""></span>
</div>
<script src="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4c_e856T",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://nguoicodonvn2008.info/assets/js/language/vi.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/global.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/site.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/news.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/main.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://nguoicodonvn2008.info",
            "logo": "https://nguoicodonvn2008.info/uploads/angel.gif"
        }
        </script>
<script src="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js"></script>
<script type="text/javascript">
var $scrolltop = $('.car-top');
$scrolltop.on('click', function () {
    $('html,body').animate({
        scrollTop: 0
    }, 800);
    $(this).addClass("car-run");
    setTimeout(function(){ $scrolltop.removeClass('car-run');}, 1000);
    return false;
});
$(window).on('scroll', function ()
{ 
    if($(window).scrollTop() >= 200)
    {
        $scrolltop.addClass("show");
        $scrolltop.addClass("car-down");
    }
    else
    {
       $scrolltop.removeClass("show");
       setTimeout(function(){ $scrolltop.removeClass('car-down');}, 300);
    }
});
</script>
</body>
</html>