![](/img/trans.png)
[英]Check if value exists in table or handle MySQL's unique constraint exception?
[英]Create a check constraint that a value exists in another table
我正在使用一个 mariaDB 实例,我想创建一个检查约束,一个值必须存在于另一个表中。 在下面的示例中,TableA.Number 必须已经存在于 TableB 中。
名称 varchar(30)
数字整数
数字整数
我不知道我是否正确理解你的问题,但你是否已经尝试过使用外键?
您可以创建一个触发器来实现相同的
CREATE TRIGGER Check_exist_in_B BEFORE
INSERT ON TableA >
DECLARE ExistingNum INT;>
SET @ExistingNum : = (
SELECT NUMBER
FROM TableB
WHERE b.number = new.number
) >
IF (@ExistingNum IS NULL) THEN > SIGNAL SQLSTATE '45000' >
SET MESSAGE_TEXT = 'Not exists in B' >
END;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.