Mysql 触发器加判断语句 插入值? 255

设置mysql触发器,比如每插入一条数据时,触发器判断插入数据中的证件编号一列,自动判断男女,并将其插入表相应的性别一列... 设置mysql触发器 ,比如每插入一条数据时,触发器判断插入数据中的证件编号一列,自动判断男女,并将其插入表相应的性别一列 展开
 我来答
jingruiking
2020-04-14 · TA获得超过125个赞
知道小有建树答主
回答量:88
采纳率:83%
帮助的人:49.8万
展开全部
我的表结构如下:
create table students(id int auto_increment,
name varchar(10) not null DEFAULT '',
age int not null DEFAULT 0,
sex varchar(2) not null DEFAULT '',
studId varchar(18) not null DEFAULT '',
PRIMARY KEY (`id`));
触发器:
DELIMITER $$
CREATE TRIGGER `students_insert` BEFORE INSERT ON `students`
FOR EACH ROW
BEGIN
if mod(substring(new.studId,17,1),2)=0 then
set new.sex = '女';
else
set new.sex = '男';
end if;
END;
$$
DELIMITER ;
以上程序已测试通过,
另外友情提醒一下,在触发器中处理这个判断,效率不高,最好在程序中处理这部分逻辑.
cjuesi
2020-04-14 · TA获得超过963个赞
知道小有建树答主
回答量:540
采纳率:88%
帮助的人:144万
展开全部
CREATE TRIGGER ins BEFORE INSERT ON 表 FOR EACH ROW BEGIN
if mod(SUBSTRING('123456789012345678',17,1),2) = 0 then
set new.性别 ='女';
else
set new.性别='男';
end if
END;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式