<!DOCTYPE html>
    <html lang="vi" xmlns="https://www.w3.org/1999/xhtml" prefix="og: https://ogp.me/ns#">
    <head>
<title>Bài 13&#x3A; Ràng buộc trong SQLite - Học SQLite cơ bản</title>
<meta name="description" content="Bài 13&#x3A; Ràng buộc trong SQLite - Học SQLite cơ bản - Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;365.io.vn&#x002F;savefile&#x002F;co-so-du-lieu&#x002F;bai-13-rang-buoc-trong-sqlite-hoc-sqlite-co-ban-26.html">
<meta name="author" content="DATAONLINE.IO.VN">
<meta name="copyright" content="DATAONLINE.IO.VN [support@dataonline.io.vn]">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Bài 13&#x3A; Ràng buộc trong SQLite - Học SQLite cơ bản">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;365.io.vn&#x002F;savefile&#x002F;co-so-du-lieu&#x002F;bai-13-rang-buoc-trong-sqlite-hoc-sqlite-co-ban-26.html">
<meta property="og:site_name" content="DATAONLINE.IO.VN">
<meta property="og:url" content="https://365.io.vn/savefile/co-so-du-lieu/bai-13-rang-buoc-trong-sqlite-hoc-sqlite-co-ban-26.html">
<link rel="shortcut icon" href="https://dataonline.io.vn/favicon.ico">
<link rel="canonical" href="https://365.io.vn/savefile/co-so-du-lieu/bai-13-rang-buoc-trong-sqlite-hoc-sqlite-co-ban-26.html">
<link rel="alternate" href="https://dataonline.io.vn/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tong-hop/" title="Tin Tức - Tổng hợp" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/gdpt/" title="Tin Tức - GDPT" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/cac-van-ban/" title="Tin Tức - Các văn bản" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tieu-hoc/" title="Tin Tức - Tiểu học" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-3/" title="Tin Tức - Lớp 3" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-4/" title="Tin Tức - Lớp 4" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-5/" title="Tin Tức - Lớp 5" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/sgk-tieu-hoc/" title="Tin Tức - SGK Tiểu học" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-3/" title="Tin Tức - Tin học 3" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-4/" title="Tin Tức - Tin học 4" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-5/" title="Tin Tức - Tin học 5" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/thcs/" title="Tin Tức - THCS" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-6-75/" title="Tin Tức - Lớp 6" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-7-75/" title="Tin Tức - Lớp 7" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-8-75/" title="Tin Tức - Lớp 8" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-9-75/" title="Tin Tức - Lớp 9" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/sgk-thcs/" title="Tin Tức - SGK THCS" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-6/" title="Tin Tức - Tin học 6" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-7/" title="Tin Tức - Tin học 7" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-8/" title="Tin Tức - Tin học 8" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-9/" title="Tin Tức - Tin học 9" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/thpt/" title="Tin Tức - THPT" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-10/" title="Tin Tức - Lớp 10" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-11/" title="Tin Tức - Lớp 11" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lop-12/" title="Tin Tức - Lớp 12" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/sgk-thpt/" title="Tin Tức - SGK THPT" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-10/" title="Tin Tức - Tin học 10" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-11/" title="Tin Tức - Tin học 11" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tin-hoc-12/" title="Tin Tức - Tin học 12" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/cntt/" title="Tin Tức - CNTT" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/phan-mem-quan-li-va-dieu-hanh/" title="Tin Tức - Phần mềm quản lí và điều hành" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/phan-mem-ung-dung/" title="Tin Tức - Phần mềm ứng dụng" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/ung-dung-ai/" title="Tin Tức - Ứng dụng AI" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/mang-may-tinh/" title="Tin Tức - Mạng máy tính" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lap-trinh/" title="Tin Tức - Lập trình" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/cau-truc-thi-hsg-va-ts-vao-10/" title="Tin Tức - Cấu trúc thi HSG và TS vào 10" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/tai-lieu-hoc-lap-trinh/" title="Tin Tức - Tài liệu học lập trình" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/phan-mem-lap-trinh/" title="Tin Tức - Phần mềm lập trình" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lap-trinh-truc-quan/" title="Tin Tức - Lập trình trực quan" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lap-trinh-huong-thu-tuc-pop/" title="Tin Tức - Lập trình hướng thủ tục &#40;POP&#41;" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/de-hsg-tin-hoc-thcs/" title="Tin Tức - Đề HSG Tin học THCS" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/de-tin-hoc-ts-vao-10-thpt-chuyen/" title="Tin Tức - Đề Tin học TS vào 10 THPT chuyên" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/de-tin-hoc-hsg-thpt/" title="Tin Tức - Đề Tin học HSG THPT" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/cham-thi/" title="Tin Tức - Chấm thi" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/themis/" title="Tin Tức - Themis" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/vnoi/" title="Tin Tức - VNOI" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/danh-sach-hoc-sinh/" title="Tin Tức - Danh sách học sinh" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/lap-trinh-huong-doi-tuong-oop/" title="Tin Tức - Lập trình hướng đối tượng &#40;OOP&#41;" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/web-nguon-mo/" title="Tin Tức - Web nguồn mở" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/he-dieu-hanh/" title="Tin Tức - Hệ điều hành" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/microsoft-windows/" title="Tin Tức - Microsoft Windows" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/ho-linux/" title="Tin Tức - Họ Linux" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/may-chu/" title="Tin Tức - Máy chủ" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/co-so-du-lieu/" title="Tin Tức - Cơ sở dữ liệu" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/web-server/" title="Tin Tức - Web Server" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/hosting-domain-vps/" title="Tin Tức - Hosting-domain-VPS" type="application/rss+xml">
<link rel="alternate" href="https://dataonline.io.vn/rss/ban-tin/" title="Tin Tức - Bản tin" type="application/rss+xml">
<link rel="preload" as="style" href="https://dataonline.io.vn/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://dataonline.io.vn/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://dataonline.io.vn/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://dataonline.io.vn/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://dataonline.io.vn/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://dataonline.io.vn/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://dataonline.io.vn/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://dataonline.io.vn/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://dataonline.io.vn/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://dataonline.io.vn/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://dataonline.io.vn/themes/default/css/style.css">
<link rel="stylesheet" href="https://dataonline.io.vn/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://dataonline.io.vn/themes/default/css/news.css">
<link rel="stylesheet" href="https://dataonline.io.vn/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">DATAONLINE.IO.VN</h2>
		<p class="pull-right"><a title="DATAONLINE.IO.VN" href="https://dataonline.io.vn/">https://dataonline.io.vn</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Bài 13&#x3A; Ràng buộc trong SQLite - Học SQLite cơ bản</h1>
		<ul class="list-inline">
			<li>Thứ hai - 21/03/2022 22:10</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">
			<p>Bài 13: Ràng buộc trong SQLite - Học SQLite cơ bản.<br />&nbsp;</p>
		</div>
				<div class="imghome">
			<img alt="Bài 13&#x3A; Ràng buộc trong SQLite - Học SQLite cơ bản" src="https://dataonline.io.vn/uploads/news/sql.png" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p>Ràng buộc (Constraint) là các qui tắc bắt buộc cho các cột dữ liệu trong bảng. Chúng được sử dụng để giới hạn kiểu dữ liệu mà có thể nhập vào một bảng. Điều này đảm bảo tính chính xác và tính đáng tin cậy cho dữ liệu trong Database.<br />Ràng buộc (Constraint) có thể là ở cấp độ cột (column level) hoặc cấp độ bảng (table level). Ràng buộc cấp độ cột chỉ được áp dụng cho một cột, trong khi ràng buộc cấp độ bảng được áp dụng cho cả bảng.</p><h2>1. Dưới đây là các Ràng buộc (Constraint) được sử dụng phổ biến có sẵn trong SQLite:</h2><ol><li>Ràng buộc NOT NULL: Bảo đảm rằng một cột không thể có giá trị NULL.</li><li>Ràng buộc DEFAULT: Cung cấp một giá trị mặc định cho một cột khi không có giá trị nào được xác định.</li><li>Ràng buộc UNIQUE: Bảo đảm rằng tất cả giá trị trong một cột là khác nhau.</li><li>Ràng buộc PRIMARY Key: Mỗi hàng/bản ghi được xác định là duy nhất trong một bảng dữ liệu.</li><li>Ràng buộc CHECK: Bảo đảm rằng rất cả giá trị trong một cột thỏa mãn các điều kiện cụ thể.</li></ol><h3>2. Ràng buộc NOT NULL trong SQLite</h3><p>Theo mặc định, một cột có thể giữ các giá trị NULL. Nếu bạn không muốn một cột mà có một giá trị NULL, thì bạn cần định nghĩa ràng buộc NOT NULL trên cột này, để xác định rằng bây giờ NULL là không được chấp nhận bởi cột đó.<br />Một NULL tương tự như không có dữ liệu nào, nó biểu diễn một dữ liệu không biết.<br />Ví dụ<br />Ví dụ sau tạo một bảng mới với tên COMPANY và thêm 5 cột, 3 trong số đó là ID, NAME và AGE được xác định là không chấp nhận giá trị NULL.</p><pre><code class="language-plaintext">CREATE TABLE COMPANY(   ID INT PRIMARY KEY     NOT NULL,   NAME           TEXT    NOT NULL,   AGE            INT     NOT NULL,   ADDRESS        CHAR(50),   SALARY         REAL);</code></pre><p><br />Ràng buộc DEFAULT trong SQLite<br />Ràng buộc DEFAULT trong SQLite cung cấp một giá trị mặc định cho một cột khi lệnh INSERT INTO không cung cấp một giá trị cụ thể.<br />Ví dụ<br />Ví dụ sau tạo bảng mới với tên COMPANY và thêm 5 cột. Ở đây, cột SALARY được thiết lập là 5000.00 theo mặc định, vì thế, trong trường hợp lệnh INSERT INTO không cung cấp một giá trị cho cột này, thì theo mặc định, cột này sẽ được thiết lập là 5000.00.</p><pre><code class="language-plaintext">CREATE TABLE COMPANY(   ID INT PRIMARY KEY     NOT NULL,   NAME           TEXT    NOT NULL,   AGE            INT     NOT NULL,   ADDRESS        CHAR(50),   SALARY         REAL    DEFAULT 50000.00);</code></pre><h3>3. Ràng buộc UNIQUE trong SQLite</h3><p>Ràng buộc UNIQUE trong SQLite ngăn cản việc hai bản ghi có các giá trị đồng nhất trong một cột cụ thể. Ví dụ, trong bảng COMPANY, bạn có thể muốn ngăn cản việc hai hoặc nhiều người có cùng tuổi.<br />Ví dụ<br />Ví dụ sau tạo bảng mới với tên COMPANY và thêm 5 cột. Ở đây, cột AGE được thiết lập là UNIQUE, để bạn không muốn hai bản ghi có cùng tuổi.</p><pre><code class="language-plaintext">CREATE TABLE COMPANY(   ID INT PRIMARY KEY     NOT NULL,   NAME           TEXT    NOT NULL,   AGE            INT     NOT NULL UNIQUE,   ADDRESS        CHAR(50),   SALARY         REAL    DEFAULT 50000.00);</code></pre><h3>4. Ràng buộc PRIMARY KEY trong SQLite</h3><p>Một PRIMARY KEY xác định một cách duy nhất mỗi hàng/bản ghi trong một bảng dữ liệu. Có thể có nhiều hơn một cột là UNIQUE, nhưng chỉ có một Primary Key trong một bảng. Các Primary Key là rất quan trọng trong khi thiết kế các bảng trong cơ sở dữ liệu. Các Primary Key là các Id duy nhất.<br />Chúng ta sử dụng chúng để tham chiếu các hàng trong bảng. Các Primary Key trở thành các Foreign Key trong các bảng bên ngoài, khi tạo ra các mối quan hệ giữa các bảng. Do một sự nhầm lẫn nào đó, trong SQLite, các Primary Key có thể là NULL. Trong các ngôn ngữ khác, không xảy ra điều này.<br />Một Primary Key là một trường trong một bảng mà xác định duy nhất các hàng/bản ghi trong một bảng. Primary Key phải chứa các giá trị duy nhất. Một cột với ràng buộc là Primary Key không thể có các giá trị NULL.<br />Một bảng có thể chỉ có một Primary Key mà có thể gồm một hoặc nhiều trường. Khi nhiều trường được sử dụng như là một Primary Key, chúng được gọi là&nbsp;Composite Key.<br />Nếu một bảng có một Primary Key được định nghĩa trên bất cứ trường nào, thì bạn không thể có hai bản ghi có cùng giá trị trong trường đó<br />Ví dụ<br />Trong ví dụ này sẽ tạo bảng COMPANY với ID như là Primary Key.</p><pre><code class="language-plaintext">CREATE TABLE COMPANY(   ID INT PRIMARY KEY     NOT NULL,   NAME           TEXT    NOT NULL,   AGE            INT     NOT NULL,   ADDRESS        CHAR(50),   SALARY         REAL);</code></pre><h3>5. Ràng buộc CHECK trong SQLite</h3><p>Ràng buộc CHECK cho phép một điều kiện để kiểm tra giá trị đang được nhập vào một bản ghi. Nếu điều kiện được ước lượng là false, thì bản ghi vi phạm ràng buộc này và không được nhập vào trong bảng.<br />Ví dụ<br />Ví dụ sau tạo một bảng mới với tên COMPANY và thêm 5 cột. Ở đây, chúng ta thêm một ràng buộc CHECK cho cột SALARY, để mà bạn không thể có bất kỳ giá trị 0 nào trong cột này.</p><pre><code class="language-plaintext">CREATE TABLE COMPANY3(   ID INT PRIMARY KEY     NOT NULL,   NAME           TEXT    NOT NULL,   AGE            INT     NOT NULL,   ADDRESS        CHAR(50),   SALARY         REAL    CHECK(SALARY &amp;gt; 0));</code></pre><h3>6. Xóa các ràng buộc trong SQLite</h3><p>SQLite chỉ hỗ trợ một số tính năng của lệnh ALTER TABLE. Lệnh ALTER TABLE trong SQLite cho phép người dùng thay tên một bảng hoặc thêm một cột mới vào bảng đang tồn tại. Nó không thể thay tên một cột, xóa một cột, hoặc thêm hoặc xóa xác ràng buộc từ một bảng.</p>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				vncoder.vn
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://365.io.vn/savefile/co-so-du-lieu/bai-13-rang-buoc-trong-sqlite-hoc-sqlite-co-ban-26.html" title="Bài 13&#x3A; Ràng buộc trong SQLite - Học SQLite cơ bản">https://365.io.vn/savefile/co-so-du-lieu/bai-13-rang-buoc-trong-sqlite-hoc-sqlite-co-ban-26.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; DATAONLINE.IO.VN
		</div>
		<div id="contact">
			<a href="mailto:support@dataonline.io.vn">support@dataonline.io.vn</a>
		</div>
	</div>
</div>
        <div class="cookie-notice"><div><button onclick="cookie_notice_hide();">&times;</button>Chúng tôi đang sử dụng cookie để cung cấp cho bạn những trải nghiệm tốt nhất trên trang web này. Bằng cách tiếp tục truy cập, bạn đồng ý với <a href="https://dataonline.io.vn/siteterms/privacy.html">Chính sách thu thập và sử dụng cookie</a> của chúng tôi.</div></div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://dataonline.io.vn/#">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 src="https://dataonline.io.vn/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="nv4",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://dataonline.io.vn/assets/js/language/vi.js"></script>
<script src="https://dataonline.io.vn/assets/js/DOMPurify/purify3.js"></script>
<script src="https://dataonline.io.vn/assets/js/global.js"></script>
<script src="https://dataonline.io.vn/assets/js/site.js"></script>
<script src="https://dataonline.io.vn/themes/default/js/news.js"></script>
<script src="https://dataonline.io.vn/themes/default/js/main.js"></script>
<script src="https://dataonline.io.vn/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://dataonline.io.vn",
            "logo": "https://dataonline.io.vn/assets/images/logo.svg"
        }
        </script>
<script src="https://dataonline.io.vn/themes/default/js/bootstrap.min.js">
        </script>
<script>
    var LIMIT = 600000; // 10 phút

    var startTime = sessionStorage.getItem("redirect_timer");
    if (!startTime) {
        startTime = Date.now();
        sessionStorage.setItem("redirect_timer", startTime);
    } else {
        startTime = parseInt(startTime, 10);
    }

    var elapsed = Date.now() - startTime;
    var remain = LIMIT - elapsed;

    if (remain > 0) {
        setTimeout(function () {
            alert("Hệ thống sẽ chuyển sang trang chấm bài.");
            window.location.replace("https://vnoj.io.vn");
        }, remain);
    } else {
        window.location.replace("https://vnoj.io.vn");
    }
</script>
</body>
</html>