解决不能在mysql唯一索引使用函数问题
发表于|更新于
|浏览量:
我们在伤害别人之前,要想到别人也会同样伤害我们。——达·芬奇
遇到不能在mysql唯一索引使用函数问题
可以使用虚拟列,例如下面的例子
1 | # 添加虚拟列,为`date`字段格式化为月计算出来得到`month`字段 |
相关推荐
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匹配多行,则只会更新一行,所以我们需要避免在有多个唯一索引的表上使用本语法 我们在表内没...
2025-01-18
nocodb
为了那一句话,流尽血的败北!多少次我都能挺下来。——朝雾卡夫卡的《文豪野犬》 最近在探索一些开源项目时,发现了一个非常有意思且实用的工具 —— NocoDB。它是一个开源的无代码数据库平台,可以帮助开发者将传统数据库(如 MySQL、PostgreSQL 等)转化为一个可视化的表格形式。通过 NocoDB,开发者和非开发者都可以像使用电子表格一样管理数据库内容,非常适合团队协作和快速原型开发。 NocoDB 通过其直观的用户界面,允许用户通过拖拽、点击等方式直接操作数据库中的数据,而无需编写任何 SQL 语句。无论是小型项目还是团队协作,NocoDB 都能极大地提升开发效率,特别是对于那些没有数据库开发经验的用户来说,它提供了一种轻松操作数据库的方式。 NocoDB 的安装和使用非常简单,适合不同操作系统和开发环境。你可以通过以下步骤轻松搭建: 安装首先,你可以通过 Docker 轻松地部署 NocoDB,以下是使用 Docker 部署的步骤: 1docker run -d -p 8080:8080 nocodb/nocodb 执行这条命令后,NocoDB 会在本地启动...
2021-12-15
mysql安装失败坑
来是偶然,走是必然。——林清玄 今天安装mysql遇到个问题: mysql windows msi下载地址: https://cdn.mysql.com//Downloads/MySQLInstaller/mysql-installer-community-8.0.27.1.msi 1MySQL error 1042: Unable to connect to any of the specified MySQL hosts. 我们进行处理这个问题: 于是我又重装了一遍,因为我们服务已经安装成功了: 所以要卸载服务: 首先打开注册表: 然后重启电脑再安装就装好啦!
2022-04-13
mysql用户、授权
天空没有一片云,一轮圆月在这一碧无际的大海里航行,孤独的,清冷的,它把它的光辉撒下来,地上,瓦上都染上了一层银白色,夜非常静。——巴金 官方文档: https://dev.mysql.com/doc/refman/8.0/en/assigning-passwords.html 创建用户 1CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'password'; 修改密码 1ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'password'; 匿名用户登录,修改自身密码 1ALTER USER USER() IDENTIFIED BY 'password'; 使用mysqladmin^1修改密码 1mysqladmin -u user_name -h host_name password "password" 注意修改失...
2021-07-08
自用模板sql
真正的伟人,能在愚昧和喧嚣的物质世界中,静心倾听荒漠的声音。——深泉学院(美国) 自用sql,我建站时每张表必备如下字段: 12345678DROP TABLE IF EXISTS `common_template`;CREATE TABLE `common_template` ( `id` bigint(0) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', `gmt_deleted`datetime(0) DEFAULT NULL COMMENT '逻辑删除字段 NULL未删除 有值表示已删除,值为删除时间', `gmt_create` datetime(0) NOT NULL COMMENT '现在时表示主动式创建', `gmt_modified` datetime(0) NOT NULL COMMENT '过去分词表示被动式更新', PRIMARY KEY (`id`) USING BTREE) ENGINE = InnoDB CH...
2021-02-10
自增sql
所谓觉悟,就是在漆黑的荒野上开辟出一条理当前进的道路。——乔鲁诺.乔巴纳 我们可以使用 1update user set age=age+1 where id = 1 来让age在原来的基础上+1

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