mysql 中的 check 約束用于限制表中數據值的范圍,使用語法:alter table table_name add constraint constraint_name check (column_name expression)。優點包括數據完整性、性能和可維護性,注意事項是只適用于單個列,表達式必須返回布爾值,約束名稱必須唯一。
MySQL 中的 CHECK 約束
在 MySQL 中,CHECK 約束用于限制表中的數據值。它通過指定一個布爾表達式來定義允許存儲在表中的值范圍。
如何使用 CHECK 約束
要創建 CHECK 約束,請使用以下語法:
<code class="sql">ALTER TABLE table_name ADD CONSTRAINT constraint_name CHECK (column_name expression);</code>
登錄后復制
其中:
table_name
是要添加約束的表名。
constraint_name
是約束的唯一名稱。
column_name
是要應用約束的列名。
expression
是一個布爾表達式,它定義了允許存儲在該列中的值。
如何使用 CHECK 約束示例
例如,要創建一個僅允許正數的表名為 employees
的表中 salary
列,可以使用以下約束:
<code class="sql">ALTER TABLE employees ADD CONSTRAINT positive_salary CHECK (salary > 0);</code>
登錄后復制
CHECK 約束的優點
使用 CHECK 約束有以下優點:
數據完整性:它確保只有符合約束條件的值才能插入到表中。
性能:它可以在插入時快速驗證數據,從而減少無效數據的存儲。
可維護性:它使列約束更易于理解和管理。
CHECK 約束的注意事項
以下需要注意一些事項:
CHECK 約束只能應用于單個列。
表達式必須始終返回 TRUE 或 FALSE 值。
約束名稱必須在表中唯一。