gpt4 book ai didi

MySql 表和触发器

转载 作者:行者123 更新时间:2023-11-29 09:04:44 25 4
gpt4 key购买 nike

我的理解是MySql忽略CREATE TABLE语法中的CHECK。因此我在想 - 为什么不使用触发器呢?

例如,我有一张人员表,其中一个字段是电话号码。是否可以构建一个触发器来验证电话号码是否有效(例如区号),并在电话号码无效的情况下使插入失败并显示适当的错误消息?

最佳答案

是的,您可以创建触发器来验证插入的值并调用未知过程。例如-

CREATE TABLE table1
id INT(11) NOT NULL,
phone VARCHAR(10) DEFAULT NULL,
PRIMARY KEY (id)
);

DELIMITER $$

CREATE trigger1
BEFORE INSERT
ON table1
FOR EACH ROW
BEGIN
IF NOT NEW.phone REGEXP '^[0-9]{3}-[0-9]{2}-[0-9]{2}$' THEN
CALL error; -- Call nonexistent procedure
END IF;
END
$$

DELIMITER ;

关于MySql 表和触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7400445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com