【发布时间】:2018-03-15 21:04:57
【问题描述】:
我正在尝试按用户的电子邮件地址对用户进行分组。 正则表达式不工作。帮助
BEGIN
DECLARE group_id tinyint(4);
SET @user_email = ( SELECT email FROM `users` WHERE id = NEW.id );
IF (SELECT @user_email REGEXP '\.com$') THEN SET group_id = 17;
ELSE SET group_id = 18;
END IF;
INSERT INTO `user_usergroup_map` (`user_id`, `group_id`) VALUES (NEW.id, group_id);
END
--------- 新的--------
我又做了一些测试。
这行得通...
BEGIN
INSERT INTO `user_usergroup_map` (`user_id`, `group_id`) VALUES( 3, 18 );
END
但这没有用
BEGIN
INSERT INTO `user_usergroup_map` (`user_id`, `group_id`) VALUES(
NEW.id, 18);
END
【问题讨论】:
-
"不工作" -- 崩溃服务器?得到错误?得到错误答案?什么答案是错误的?
SELECT 'a.com' REGEXP '\.com$', 'a.org' REGEXP '\.com$';--> 1, 0;所以看起来不错。考虑将\.更改为[.]。 -
@RickJames 我没有收到任何错误消息,也没有崩溃。简单地说,没有新的插入。
标签: mysql sql regex triggers phpmyadmin