uTools-Manuals/docs/sql/CHECK 约束.html
2019-04-21 11:50:48 +08:00

5 lines
2.6 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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&gt;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&gt;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&gt;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&gt;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&gt;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>