解决不能在mysql唯一索引使用函数问题
发表于|更新于
|浏览量:
我们在伤害别人之前,要想到别人也会同样伤害我们。——达·芬奇
遇到不能在mysql唯一索引使用函数问题
可以使用虚拟列,例如下面的例子
1 | # 添加虚拟列,为`date`字段格式化为月计算出来得到`month`字段 |
相关推荐
2022-06-09
exists
发上开出了蔷薇,袖底是风,足下是莲。——顾城 我们可以使用exists代替in查询: 阿里编码规约第五条第(三)条第9条: 【推荐】in操作能避免则避免,若实在避免不了,需要仔细评估in后边的集合元素数量,控制在1000个之内。 我们可以在子元素多的情况下,使用exists查询 比如下面这个in查询 123456789101112SELECT * FROM sys_user AS a WHERE id in ( SELECT user_id FROM sys_user_role AS b WHERE b.role_id IN ( SELECT id FROM sys_role AS c WHERE b.role_id = c.id AND c.role_code LIKE '%o%' )); 可以改为: 12345678910111213SELECT * FROM sys_user AS a WHERE EXISTS ( SELECT user_id FROM sys_user_role AS b WHERE a.id = b.us...
2020-11-05
mysql案例数据库
人类的悲剧,就是想延长自己的寿命。我们往往只憧憬地平线那真个神奇玫瑰园,而忘了去赏识今天窗外正在盛开的玫瑰花。——(美)戴尔·卡耐基 昨天有群友问 那这里就分享一下mysql官网的案例数据库,下载下来就是sql文件,执行完就有现成的用于练手的数据 首先进入mysql官网的其他文档 可以看到下方的Example Databases 我们选一个下载Zip 下载完了里面就是一个sql文件 比如我下载的world.sql 下载完直接执行就有大堆数据用来练手啦!
2021-12-29
orderBy排序,null在最后
优于别人,并不高贵,真正的高贵应该是优于过去的自己。——海明威 我们进行排序查询时: 1SELECT * FROM `user` ORDER BY username 可以看到null值排到了最上 如果我们要将null值排到最下方可以使用: 1SELECT * FROM `user` ORDER BY ISNULL(username),username 执行结果: 这是因为ISNULL函数将其转换为了0和1,我们可以顺带查询出来看看: 1SELECT *,ISNULL(username) FROM `user` ORDER BY ISNULL(username),username
2022-10-11
h2 count+orderBy踩坑
过度的爱情追求,必定会降低人本身的价值——培根 mysql里两个都可执行 h2执行第二条会报错 因此不要在h2写count时使用orderBy
2022-10-20
数据库迁移flyway
批评,这是正常的血液循环,没有它就不免有停滞和生病的现象——奥斯特洛夫斯基 数据库迁移可以使用flyway git地址:https://github.com/flyway/flyway 官网地址: https://flywaydb.org
2020-07-22
sql时间N天前数据查询
今天写代码用到了 1234567891011#三年前的日期select date_format(date_sub(now(),interval 3 year),'%Y-%m-%d')#6个月之后的时间select date_add(now(),interval 6 month);#14天后的时间select date_add(now(),interval 3 day);#10分钟之内的数据select * from table_name where create_time >= (select date_sub(now(),interval 10 minute))#30秒后的时间select date_add(now(),interval 30 second);
