<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=SQL_Server%2FT-SQL%2FConstraints%2FColumn_Constraints</id>
		<title>SQL Server/T-SQL/Constraints/Column Constraints - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=SQL_Server%2FT-SQL%2FConstraints%2FColumn_Constraints"/>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=SQL_Server/T-SQL/Constraints/Column_Constraints&amp;action=history"/>
		<updated>2026-04-06T13:43:04Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://sqle.ru/index.php?title=SQL_Server/T-SQL/Constraints/Column_Constraints&amp;diff=6138&amp;oldid=prev</id>
		<title> в 13:46, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=SQL_Server/T-SQL/Constraints/Column_Constraints&amp;diff=6138&amp;oldid=prev"/>
				<updated>2010-05-26T13:46:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:46, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://sqle.ru/index.php?title=SQL_Server/T-SQL/Constraints/Column_Constraints&amp;diff=6139&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=SQL_Server/T-SQL/Constraints/Column_Constraints&amp;diff=6139&amp;oldid=prev"/>
				<updated>2010-05-26T10:21:23Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Add constraints for two columns==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1&amp;gt; CREATE TABLE T (&lt;br /&gt;
2&amp;gt;     int1 int IDENTITY PRIMARY KEY,&lt;br /&gt;
3&amp;gt;     vch1 varchar(5) CHECK (LEN(vch1) &amp;gt; 0),&lt;br /&gt;
4&amp;gt;     vch2 varchar(5) CONSTRAINT CK_LEN_TOO_SHORT CHECK (LEN(vch2) &amp;gt; 0)&lt;br /&gt;
5&amp;gt; )&lt;br /&gt;
6&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; INSERT T (vch1, vch2) VALUES(&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; INSERT T (vch1, vch2) VALUES(&amp;quot;&amp;quot;,&amp;quot;b&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
Msg 547, Level 16, State 1, Server sqle\SQLEXPRESS, Line 2&lt;br /&gt;
The INSERT statement conflicted with the CHECK constraint &amp;quot;CK__T__vch1__7F01C5FD&amp;quot;. The conflict occurred in database &amp;quot;master&amp;quot;, table &amp;quot;dbo.T&amp;quot;, column &amp;quot;vch1&amp;quot;.&lt;br /&gt;
The statement has been terminated.&lt;br /&gt;
1&amp;gt; INSERT T (vch1, vch2) VALUES(&amp;quot;a&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
Msg 547, Level 16, State 1, Server sqle\SQLEXPRESS, Line 1&lt;br /&gt;
The INSERT statement conflicted with the CHECK constraint &amp;quot;CK_LEN_TOO_SHORT&amp;quot;. The conflict occurred in database &amp;quot;master&amp;quot;, table &amp;quot;dbo.T&amp;quot;, column &amp;quot;vch2&amp;quot;.&lt;br /&gt;
The statement has been terminated.&lt;br /&gt;
1&amp;gt; INSERT T DEFAULT VALUES&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; select * from t&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
int1        vch1  vch2&lt;br /&gt;
----------- ----- -----&lt;br /&gt;
          1 a     b&lt;br /&gt;
          4 NULL  NULL&lt;br /&gt;
(2 rows affected)&lt;br /&gt;
1&amp;gt; drop table t&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Constraint check (Options)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; CREATE TABLE ClassGrades(&lt;br /&gt;
3&amp;gt;     ClassID int,&lt;br /&gt;
4&amp;gt;     StudentID int,&lt;br /&gt;
5&amp;gt;     GradeLetter varchar(2),&lt;br /&gt;
6&amp;gt;     Constraint PK_ClassGrades PRIMARY KEY(ClassID, StudentID),&lt;br /&gt;
7&amp;gt;     Constraint CK_GradeRange_ClassID CHECK (LEFT(UPPER(GradeLetter),1) LIKE &amp;quot;[A-F]&amp;quot; AND ClassID &amp;lt; 1000)&lt;br /&gt;
8&amp;gt; )&lt;br /&gt;
9&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; INSERT ClassGrades VALUES(1, 1, &amp;quot;C+&amp;quot;)&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
Msg 2627, Level 14, State 1, Server sqle\SQLEXPRESS, Line 2&lt;br /&gt;
Violation of PRIMARY KEY constraint &amp;quot;PK_ClassGrades&amp;quot;. Cannot insert duplicate key in object &amp;quot;dbo.ClassGrades&amp;quot;.&lt;br /&gt;
The statement has been terminated.&lt;br /&gt;
1&amp;gt; INSERT ClassGrades VALUES(1, 2, &amp;quot;A+&amp;quot;)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
Msg 2627, Level 14, State 1, Server sqle\SQLEXPRESS, Line 1&lt;br /&gt;
Violation of PRIMARY KEY constraint &amp;quot;PK_ClassGrades&amp;quot;. Cannot insert duplicate key in object &amp;quot;dbo.ClassGrades&amp;quot;.&lt;br /&gt;
The statement has been terminated.&lt;br /&gt;
1&amp;gt; INSERT ClassGrades VALUES(1, 3, &amp;quot;V-&amp;quot;)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT ClassGrades VALUES(1001, 1, &amp;quot;A&amp;quot;)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT ClassGrades VALUES(999, 2, &amp;quot;A&amp;quot;)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; select * from ClassGrades&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
ClassID     StudentID   GradeLetter&lt;br /&gt;
----------- ----------- -----------&lt;br /&gt;
          1           1 A&lt;br /&gt;
          1           2 B-&lt;br /&gt;
          1           3 V-&lt;br /&gt;
        999           2 A&lt;br /&gt;
       1001           1 A&lt;br /&gt;
(5 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table ClassGrades&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Constraint: PRIMARY KEY==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; CREATE TABLE T (&lt;br /&gt;
3&amp;gt;     int1 int PRIMARY KEY,&lt;br /&gt;
4&amp;gt;     bit1 bit NOT NULL DEFAULT 0&lt;br /&gt;
5&amp;gt; )&lt;br /&gt;
6&amp;gt; GO&lt;br /&gt;
1&amp;gt; INSERT T (int1, bit1) VALUES (1, 1)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT T (int1, bit1) VALUES (2, 0)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT T (int1) VALUES (3)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT T (bit1) VALUES (1)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
Msg 515, Level 16, State 2, Server sqle\SQLEXPRESS, Line 1&lt;br /&gt;
Cannot insert the value NULL into column &amp;quot;int1&amp;quot;, table &amp;quot;master.dbo.T&amp;quot;; column does not allow nulls. INSERT fails.&lt;br /&gt;
The statement has been terminated.&lt;br /&gt;
1&amp;gt; INSERT T (int1, bit1) VALUES (3,1)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
Msg 2627, Level 14, State 1, Server sqle\SQLEXPRESS, Line 1&lt;br /&gt;
Violation of PRIMARY KEY constraint &amp;quot;PK__T__07970BFE&amp;quot;. Cannot insert duplicate key in object &amp;quot;dbo.T&amp;quot;.&lt;br /&gt;
The statement has been terminated.&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; select * from t&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
int1        bit1&lt;br /&gt;
----------- ----&lt;br /&gt;
          1    1&lt;br /&gt;
          2    0&lt;br /&gt;
          3    0&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table t&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Data length: greater than 0==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
1&amp;gt; CREATE TABLE T (&lt;br /&gt;
2&amp;gt;     int1 int IDENTITY PRIMARY KEY,&lt;br /&gt;
3&amp;gt;     vch1 varchar(5) CHECK (LEN(vch1) &amp;gt; 0) NOT NULL,&lt;br /&gt;
4&amp;gt;     vch2 varchar(5) CONSTRAINT CK_LEN_TOO_SHORT CHECK (LEN(vch2) &amp;gt; 0) NOT NULL&lt;br /&gt;
5&amp;gt; )&lt;br /&gt;
6&amp;gt; GO&lt;br /&gt;
1&amp;gt; INSERT T (vch1, vch2) VALUES(&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT T (vch1, vch2) VALUES(&amp;quot;&amp;quot;,&amp;quot;b&amp;quot;)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
Msg 547, Level 16, State 1, Server sqle\SQLEXPRESS, Line 1&lt;br /&gt;
The INSERT statement conflicted with the CHECK constraint &amp;quot;CK__T__vch1__02D256E1&amp;quot;. The conflict occurred in database &amp;quot;master&amp;quot;, table &amp;quot;dbo.T&amp;quot;, column &amp;quot;vch1&amp;quot;.&lt;br /&gt;
The statement has been terminated.&lt;br /&gt;
1&amp;gt; INSERT T (vch1, vch2) VALUES(&amp;quot;a&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
Msg 547, Level 16, State 1, Server sqle\SQLEXPRESS, Line 1&lt;br /&gt;
The INSERT statement conflicted with the CHECK constraint &amp;quot;CK_LEN_TOO_SHORT&amp;quot;. The conflict occurred in database &amp;quot;master&amp;quot;, table &amp;quot;dbo.T&amp;quot;, column &amp;quot;vch2&amp;quot;.&lt;br /&gt;
The statement has been terminated.&lt;br /&gt;
1&amp;gt; INSERT T DEFAULT VALUES&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
Msg 515, Level 16, State 2, Server sqle\SQLEXPRESS, Line 1&lt;br /&gt;
Cannot insert the value NULL into column &amp;quot;vch1&amp;quot;, table &amp;quot;master.dbo.T&amp;quot;; column does not allow nulls. INSERT fails.&lt;br /&gt;
The statement has been terminated.&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; select * from t&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
int1        vch1  vch2&lt;br /&gt;
----------- ----- -----&lt;br /&gt;
          1 a     b&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table t&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Two constraints for one single column: Not NULL and default value==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1&amp;gt; CREATE TABLE T (&lt;br /&gt;
2&amp;gt;     int1 int IDENTITY PRIMARY KEY,&lt;br /&gt;
3&amp;gt;     bit1 bit NOT NULL DEFAULT 0&lt;br /&gt;
4&amp;gt; )&lt;br /&gt;
5&amp;gt; GO&lt;br /&gt;
1&amp;gt; INSERT T (bit1) VALUES (1)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT T (bit1) VALUES (0)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT T DEFAULT VALUES&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
(1 rows affected)&lt;br /&gt;
1&amp;gt; INSERT T (int1, bit1) VALUES (4,1)&lt;br /&gt;
2&amp;gt; GO&lt;br /&gt;
Msg 544, Level 16, State 1, Server sqle\SQLEXPRESS, Line 1&lt;br /&gt;
Cannot insert explicit value for identity column in table &amp;quot;T&amp;quot; when IDENTITY_INSERT is set to OFF.&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; select * from t&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
int1        bit1&lt;br /&gt;
----------- ----&lt;br /&gt;
          1    1&lt;br /&gt;
          2    0&lt;br /&gt;
          3    0&lt;br /&gt;
(3 rows affected)&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
2&amp;gt; drop table t&lt;br /&gt;
3&amp;gt; GO&lt;br /&gt;
1&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>