mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-10 16:48:17 +08:00
5 lines
2.6 KiB
HTML
5 lines
2.6 KiB
HTML
<div class="m-bg">
|
||
<h1>SQL CHECK 约束</h1>
|
||
<h2>SQL CHECK 约束</h2> <p>CHECK 约束用于限制列中的值的范围。</p> <p>如果对单个列定义 CHECK 约束,那么该列只允许特定的值。</p> <p>如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。</p> <h2>CREATE TABLE 时的 SQL CHECK 约束</h2> <p>下面的 SQL 在 "Persons" 表创建时在 "P_Id" 列上创建 CHECK 约束。CHECK 约束规定 "P_Id" 列必须只包含大于 0 的整数。</p> <p><b>MySQL:</b></p> <div class="code notranslate"><pre><div> CREATE TABLE Persons<br/> (<br/> P_Id int NOT NULL,<br/> LastName varchar(255) NOT NULL,<br/> FirstName varchar(255),<br/> Address varchar(255),<br/> City varchar(255),<br/> CHECK (P_Id>0)<br/> )</div></pre></div> <p><b>SQL Server / Oracle / MS Access:</b></p> <div class="code notranslate"><pre><div> CREATE TABLE Persons<br/> (<br/> P_Id int NOT NULL CHECK (P_Id>0),<br/> LastName varchar(255) NOT NULL,<br/> FirstName varchar(255),<br/> Address varchar(255),<br/> City varchar(255)<br/> )</div></pre></div> <p>如需命名 CHECK 约束,并定义多个列的 CHECK 约束,请使用下面的 SQL 语法:</p> <p><b>MySQL / SQL Server / Oracle / MS Access:</b></p> <div class="code notranslate"><pre><div> CREATE TABLE Persons<br/> (<br/> P_Id int NOT NULL,<br/> LastName varchar(255) NOT NULL,<br/> FirstName varchar(255),<br/> Address varchar(255),<br/> City varchar(255),<br/> CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')<br/> )</div></pre></div> <h2>ALTER TABLE 时的 SQL CHECK 约束</h2> <p>当表已被创建时,如需在 "P_Id" 列创建 CHECK 约束,请使用下面的 SQL:</p> <p><b>MySQL / SQL Server / Oracle / MS Access:</b></p> <div class="code notranslate"><pre><div> ALTER TABLE Persons<br/> ADD CHECK (P_Id>0)</div></pre></div> <p>如需命名 CHECK 约束,并定义多个列的 CHECK 约束,请使用下面的 SQL 语法:</p> <p><b>MySQL / SQL Server / Oracle / MS Access:</b></p> <div class="code notranslate"><pre><div> ALTER TABLE Persons<br/> ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')</div></pre></div> <h2>撤销 CHECK 约束</h2> <p>如需撤销 CHECK 约束,请使用下面的 SQL:</p> <p><b>SQL Server / Oracle / MS Access:</b></p> <div class="code notranslate"><pre><div> ALTER TABLE Persons<br/> DROP CONSTRAINT chk_Person</div></pre></div> <p><b>MySQL:</b></p> <div class="code notranslate"><pre><div> ALTER TABLE Persons<br/> DROP CHECK chk_Person</div></pre></div> <div class="text-center padding-10 margin-t-5">
|
||
</div>
|
||
</div> |