如何在MYSQL中定义触发器以防止某些值被插入到表中?

时间:2013-07-04 02:10:16

标签: mysql

我是否需要使用REVOKE命令?我到底该怎么做?

示例:我有一个名为“users”的表,只有一个名为“username”的列。假设我想阻止一个名为'username1'的用户。如何阻止它以便无法使用INSERT命令添加它? (但我希望使用INSERT添加所有其他值。)

谢谢!

1 个答案:

答案 0 :(得分:0)

DELIMITER $$

CREATE TRIGGER trigger1
  BEFORE INSERT
  ON users
  FOR EACH ROW
BEGIN
  IF NEW.username = 'username1' OR NEW.username = 'username2' THEN
    SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Wrong values for username';
  END IF;
END$$

DELIMITER ;