MySQL技术文章
-
数据库 · MySQL | 2星期前 | MySQL · 事务 · mysql insert RETURNING AUTO_INCREMENT ON DUPLICATE KEY UPDATE LAST_INSERT_ID
MySQL 8.4 的 INSERT 语法没有 RETURNING。本文从语法报错出发,说明新插入行、重复键更新和多行插入怎样用同一连接的 LAST_INSERT_ID() 与主键 SELECT 读取完整行,并整理连接池、事务和显式 ID 的边界。410 收藏 -
从执行计划异常出发,说明如何用 ANALYZE TABLE 刷新 InnoDB 索引统计信息,并区分执行状态、统计变化与查询计划变化。272 收藏 -
MySQL LOCK INSTANCE FOR BACKUP 适合把在线备份的关键阶段包在一个受控窗口中:DML 可以继续,但文件创建、重命名、删除以及部分会改变实例状态的操作会被阻塞。本文说明权限、等待时间、专用会话、释放责任和常见边界。163 收藏 -
用 MySQL WINDOW 定义可复用的分组排序,同时生成排名与累计值,并说明 named window 的扩展、冲突和检查方法。482 收藏 -
用 MySQL WITH RECURSIVE 查询组织结构树,掌握锚点、递归连接、路径类型、停止条件和深度保护。164 收藏 -
MySQL JSON_OVERLAPS 用于判断两个 JSON 是否共享数组元素、完整对象键值对或相等标量。本文通过数组、对象、NULL 和类型差异案例说明返回 1、0、NULL 的边界,并对照 JSON_CONTAINS 的 AND 语义。341 收藏 -
MySQL JSON_SCHEMA_VALIDATION_REPORT 会返回失败原因、JSON Schema 路径、文档路径和失败关键字。本文用嵌套字段示例说明如何提取这些信息,区分 required、NULL 与非法 JSON,并整理成可用于排障的查询结果。391 收藏 -
MySQL 的 TABLE 语句可以用一行 SQL 直接读取整张表的可见列和行,还能配合 ORDER BY、LIMIT 与 OFFSET 控制结果。本文通过最小写法和边界排查说明它与 SELECT 的区别。260 收藏 -
MySQL INTERSECT 用来保留两组查询的共同记录。本文从列投影、DISTINCT 与 ALL、查询范围、括号优先级和稳定排序逐步排查,帮助你写出结果口径清楚的集合查询。323 收藏 -
MySQL EXCEPT 可排除另一查询已有的完整结果行。通过租户导出样例说明版本要求、比较列、DISTINCT与ALL、参数范围和最终排序,避免误排除。478 收藏 -
用 SESSION 级 foreign_key_checks 安排 MySQL 外键迁移,保存原值、完成导入并用孤儿数据查询确认恢复结果。318 收藏 -
MySQL 事件调度器适合执行清理、汇总等周期任务,但安全性不只取决于 EVERY 语句。本文用一个分批清理示例,说明 event_scheduler、EVENT 权限、DEFINER、批量上限、审计记录、INFORMATION_SCHEMA.EVENTS 和副本禁用边界。159 收藏 -
MySQL LOAD DATA 导入包含换行的字段时,正确配置字段分隔符、引号包裹、转义字符和行结束符,并用警告与抽样查询确认数据没有错行。181 收藏 -
MySQL histogram 不会替代索引,它解决的是优化器看不清列值分布、导致 rows 估算失真的问题。本文以订单状态列为例,演示怎样建立和查看 histogram,再用 EXPLAIN 判断统计信息的作用,并说明 bucket、采样率、自动更新和适用边界。386 收藏 -
从 InnoDB 死锁报告中的事务 ID、MySQL thread id、SQL 和锁对象入手,结合 Performance Schema 与应用日志,把死锁日志对应到具体连接和业务事务。185 收藏