mysql默认值
发表于|更新于
|浏览量:
时穷节乃见,一一垂丹青。一一文天祥
如果我们在编写SQL时需要给一个默认值,例如查询或者编辑的时候,可以使用mysql函数IFNULL
例如这里我们表内有两条数据

然后我们编写SQL,如果我们用户名为null,我们默认填充一个unknown
1 | SELECT id,IFNULL(username,'unknown') username FROM `user` |

在编辑的时候也可以用
1 | UPDATE user set username = IFNULL(`username`,'achao') where id = 2 |
这里如果我们的username为null,就会被修改成achao,但如果已经有值了,则不会进行修改
相关推荐
2026-02-17
zvec
志士惜日短,愁人知夜长。——傅玄 Zvec:轻量、极速、可嵌入的向量数据库,用起来就是“爽”当你在做 RAG、语义检索或个性化推荐时,常常会纠结:要不要起一个向量数据库服务、怎么部署、如何兼顾性能和易用性。Zvec 给出了一个非常优雅的答案——把向量库做成“在进程内使用”的开发者友好形态,直接嵌入到你的应用里,不需要额外的服务进程,也没有复杂配置。它由阿里巴巴开源,底层基于成熟的 Proxima 向量检索引擎,开箱即用却又具备生产级的低延迟与可扩展性。 官方一句话描述:A lightweight, lightning-fast, in-process vector database。 主页与文档: Home: https://zvec.org/en/ Quickstart: https://zvec.org/en/docs/quickstart/ Docs: https://zvec.org/en/docs/ Benchmarks: https://zvec.org/en/docs/benchmarks/ 许可证:Apache 2.0 为什么是 Zvec?把向量数据库做...
2021-02-10
自增sql
所谓觉悟,就是在漆黑的荒野上开辟出一条理当前进的道路。——乔鲁诺.乔巴纳 我们可以使用 1update user set age=age+1 where id = 1 来让age在原来的基础上+1
2023-02-16
mysql having报错this is incompatible with sql_mode=only_full_group_by
该得到荣誉却未得到,比不该得到荣誉而得到要好得多。——马克·吐温 今天遇到个报错 发现原来是MYSQL 8不支持在sql_mode包含only_full_group_by时(默认包含) HAVING的条件里有 非聚合字段 以外的字段 文档: ONLY_FULL_GROUP_BY Reject queries for which the select list, HAVING condition, or ORDER BY list refer to nonaggregated columns that are neither named in the GROUP BY clause nor are functionally dependent on (uniquely determined by) GROUP BY columns. A MySQL extension to standard SQL permits references in the HAVING clause to aliased expressions in the select list. The ...
2023-04-26
mysql随机查询(二)
活教会我思考,可思考没有教会我生活。——赫尔芩 之前写过mysql随机查询 今天学到一个新方式: 1SELECT * FROM user_info ORDER BY rand() ASC limit 1 非常的简单方便 对应mp的写法: 1List<UserInfo> list = Database.list(Wrappers.query(new UserInfo()).orderByAsc("rand()").last("limit 1"));
2020-11-05
mysql案例数据库
人类的悲剧,就是想延长自己的寿命。我们往往只憧憬地平线那真个神奇玫瑰园,而忘了去赏识今天窗外正在盛开的玫瑰花。——(美)戴尔·卡耐基 昨天有群友问 那这里就分享一下mysql官网的案例数据库,下载下来就是sql文件,执行完就有现成的用于练手的数据 首先进入mysql官网的其他文档 可以看到下方的Example Databases 我们选一个下载Zip 下载完了里面就是一个sql文件 比如我下载的world.sql 下载完直接执行就有大堆数据用来练手啦!
2022-02-06
INSERT ... ON DUPLICATE KEY UPDATE Statement
打开mysql文档,总会有新发现。——碧安瑶 我们在使用INSERT语句时,有时会有这样的需求,不存在就新增,存在就更新 此时我们可以使用INSERT ... ON DUPLICATE KEY UPDATE语句 就像mysql官方文档中提到的那样,我们如果将a列设为UNIQUE唯一索引或者主键时,并且当前表已经存在了a=1的数据,对于这种情况,下面两条sql的结果是相等的 当然如果不满足上方条件,则会新增一条数据 1234INSERT INTO t1 (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;UPDATE t1 SET c=c+1 WHERE a=1; 对于InnoDB引擎的表,此处的新增可能会触发自增列,但修改操作不会触发 如果上方的唯一索引再加一个b列,则上方第一条sql和下方sql结果相等 1UPDATE t1 SET c=c+1 WHERE a=1 OR b=2 LIMIT 1; 注意如果此处a=1 or b=2匹配多行,则只会更新一行,所以我们需要避免在有多个唯一索引的表上使用本语法 我们在表内没...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog