当前位置: 首页 > news >正文

【MySQL】实战时遇到的几个 tips

一、添加触发器

需要新增一个递增字段 user_id,但因为 record 表中原先有一个主键字段 id,为 auto_increment,所以不能再添加一个递增字段,因此这里需要用到触发器。

这里是根据 user 来做的判断,同一个 user 的 user_id 独立自增。

BEGIN
IF NEW.user_id = 0 THENSET NEW.user_id = (SELECT IFNULL(MAX(user_id), 0) + 1FROM recordWHERE user = NEW.user);END IF;
END

二、重新设置 auto_increment 值

在修改表的 auto_increment 值之前需要先查看当前值是多少:

select auto_increment from information_schema.tables where table_schema='数据库名' and table_name='表名';

table_schema 参数指定数据库名,table_name 参数指定表名。

为了使得新添加的记录自增 ID 再次继续从 num 开始计数,执行如下语句:

alter table 表名 AUTO_INCREMENT=num;

三、LIKE 操作符通配符

如果 id 是整型(如 INT 或 BIGINT),直接使用 LIKE 会导致隐式类型转换错误(因为 LIKE 只能用于字符串类型)。 

正确写法(显式类型转换)​

需要先将 id 转换为字符串类型,再使用 LIKE:

SELECT * FROM table WHERE CAST(id AS STRING) LIKE '100%';  -- 适用于 Hive、Spark、PostgreSQL、MySQL 等

相关文章:

  • ​宠智灵AI诊疗助手:打造宠物医疗的“第二医生”与智能化引擎
  • MySQL--day6--单行函数
  • 机器人强化学习入门学习笔记(四)
  • React从基础入门到高级实战:React 基础入门 - 状态与事件处理
  • 聚焦 Microsoft Fabric,释放数据潜力
  • CAS详解
  • 第三章 软件工程模型和方法
  • 初识Flask框架
  • 直线导轨运转过程中如何避免震动发生?
  • 量子传感器:开启微观世界的精准探测
  • VSCode如何像Pycharm一样“““回车快速生成函数注释文档?如何设置文档的样式?autoDocstring如何设置自定义模板?
  • 3dczml时间动态图型场景
  • Linux里more 和 less的区别
  • 【自定义类型-联合和枚举】--联合体类型,联合体大小的计算,枚举类型,枚举类型的使用
  • 中国经济的结构性困境与制度性瓶颈:关键卡点深度解析
  • 撤销Conda初始化
  • PyTorch 中unsqueeze(-1)用法
  • 城市地下“隐形卫士”:激光甲烷传感器如何保障燃气安全?
  • 《Android 应用开发基础教程》——第十五章:Android 动画机制详解(属性动画、帧动画、过渡动画)
  • 精益数据分析(79/126):从黏性到爆发——病毒性增长的三种形态与核心指标解析
  • 响应式网站后台/搜索关键词然后排名怎样提升
  • 河南专业网站建设/在线seo工具
  • php租车网站源码/百度热搜广告位
  • 乐山网站建设/在线培训app
  • 腾讯云建设网站教程/百度联盟怎么加入赚钱
  • 如何把做的网站发布到网上/体球网足球世界杯