首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Sql触发器条件检查不起作用

Sql触发器条件检查不起作用
EN

Stack Overflow用户
提问于 2017-02-22 16:45:46
回答 1查看 433关注 0票数 0

我正在为我的数据库中的一个字段创建检查条件。在名为student的表中,我有一个性别字段。此字段应接受两个值“M”或“F”中的一个。我像这样创建了一个触发器:

代码语言:javascript
代码运行次数:0
运行
复制
DELIMITER $$
CREATE TRIGGER `test_before_insert` BEFORE INSERT ON `student`
FOR EACH ROW
BEGIN
    IF NEW.Gender<>'M' OR NEW.Gender<>'F' THEN
        SIGNAL SQLSTATE '12345'
            SET MESSAGE_TEXT = 'should be M or F';
    END IF;
END$$   
DELIMITER ;  

触发器已创建,但字段'Gender‘不接受包括M或F在内的任何值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-22 16:46:31

你的情况是错误的。这总是正确的。使用

代码语言:javascript
代码运行次数:0
运行
复制
IF NEW.Gender not in ('M', 'F') THEN

或使用

代码语言:javascript
代码运行次数:0
运行
复制
IF NEW.Gender<>'M' AND NEW.Gender<>'F' THEN
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42386569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档