重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
mysql的trigger还是有很多限制的地方:
成都创新互联客户idc服务中心,提供联通机房服务器托管、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。
1
一次只能定义一个触发动作。
create
trigger
or_sal
before
insert
on
teacher
for
each
row
--每次只定义一个吧
2
设置值必须使用set语句
set
new.sal
=
4000;
--要加set
3
分隔符的问题
看是使用什么客户端工具,根据报错结果修正吧。有的工具对分隔符支持不好,可以在mysql命令行执行试下。
ifnull函数参数解析:第一个参数为 字段的名字,第二个参数为 最终替换成的值。如果 第一个字段的值 为 NULL,查询的结果中 会被 替换成 0.
三目运算:IF(expr1,expr2,expr3) 。如果 expr1是TRUE,则IF()的返回值为expr2; 否则返回值则为expr3
正则解析:如果 第一个 参数中的正则 匹配成功,if() 的值 为 第二个参数的值。否则为 第三个参数的值。
答案(先把 所有 学生的语文成绩 查出来 作为一个 新表,然后 对新表 进行 分组 聚合):
答案:
mysql中没有if可以使用case when then end 来代替;
例如:查询语句select case 字段 when 1 then '一'
when 2 then '二' end from 表名;
控制流程函数
CASE value WHEN [compare-value] THEN result [WHEN
[compare-value] THEN result ...] [ELSE result] END CASE WHEN [condition]
THEN result [WHEN [condition] THEN result ...] [ELSE result] END
例:
mysql SELECT IF(12,'yes ','no');
- 'yes'
mysql的case 就是 类似switch的用法,
SELECT id,case status WHEN '0' then '审核中' WHEN '1' then '通过' WHEN '3' then '禁用' end as "status" from tp_user
if的用法:
select *,if(sex=1,"男","女") as sex from tp_user