约束id字段不能是空字符串且不能为null
1 使用check约束条件
使用 CHECK
约束的示例 SQL 语句如下:
ALTER TABLE table_name
ADD CONSTRAINT check_id CHECK (id != '');
注:有的数据库执行此条语句可以通过,但是不执行,可能该数据库管理系统不支持,需要使用触发器
2 使用触发器(插入和更新是分开的)
2.1 插入
DELIMITER //
CREATE TRIGGER check_id
BEFORE INSERT ON table_name
FOR EACH ROW
BEGIN
IF NEW.id = '' THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'id cannot be empty string';
END IF;
END//
DELIMITER ;
2.2 更新
DELIMITER //
CREATE TRIGGER check_id
BEFORE UPDATE ON table_name
FOR EACH ROW
BEGIN
IF NEW.id = '' THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'id cannot be empty string';
END IF;
END//
DELIMITER ;
2.3 触发器其他方法
删除触发器
DROP TRIGGER check_id;
显示所有已创建的触发器
SHOW TRIGGERS