[英]MySQL Trigger check if value exists in table of another DB
我需要創建一個觸發器, 插入前將檢查是否添加了試圖將用戶名 , 已經存在於另一個數據庫(同MySQL服務器)的表(區分大小寫)。
這是我到目前為止的內容:
CREATE TRIGGER trig_user_insert BEFORE INSERT ON users
FOR EACH ROW BEGIN
IF ( ) THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Error message';
END IF;
END
因此, 僅當它存在於另一個數據庫的表中時,才可以插入行。 除了SIGNAL
之外,還有其他更好的方法來停止插入嗎?
嘗試:
CREATE TRIGGER tg_bi_users
BEFORE INSERT ON users
FOR EACH ROW
SET NEW.user = IF(EXISTS
(
SELECT *
FROM othertable
WHERE user IN(NEW.user)
), NULL, NEW.user);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.