MySQL支持在表的列级别上应用完整性约束,以确保数据的有效性和一致性。下面是MySQL中常用的列级完整性约束:
-
NOT NULL约束:确保列中的值不为空。
示例:
CREATE TABLE employees ( id INT, name VARCHAR(50) NOT NULL );
-
UNIQUE约束:确保列中的值是唯一的。
示例:
CREATE TABLE employees ( id INT, email VARCHAR(50) UNIQUE );
-
PRIMARY KEY约束:将列定义为主键,确保列中的值是唯一且非空的。
示例:
CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(50) );
-
FOREIGN KEY约束:定义对其他表的引用完整性规则。
示例:
CREATE TABLE orders ( order_id INT PRIMARY KEY, product_id INT, FOREIGN KEY (product_id) REFERENCES products(id) );
-
CHECK约束:定义列中的值必须满足的条件。
示例:
CREATE TABLE employees ( id INT, age INT CHECK (age >= 18) );
这些列级完整性约束可以用于确保数据库中数据的完整性和一致性。当试图插入或更新数据时,如果违反了任何列级完整性约束,MySQL将抛出错误并拒绝该操作。