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

Linux: DB: MariaDB: 10.6 升级导致的兼容问题

https://mariadb.com/kb/en/select-offset-fetch/
https://jira.mariadb.org/browse/MDEV-23908
https://mariadb.com/kb/en/reserved-words/
这里有提到添加了新的语法,以迎合SQL-2008的标准,引入了一个关键字offset。

这个关键字的引入可能导致已有数据库表字段的问题,假如在升级之前,某一个数据库表里的字段名称是offset,这时候在新的10.6版本的话,就会认为是一个关键字,导致语法上的错误。

https://github.com/doctrine/dbal/pull/5292
下面这个链接给出了一个解决方法,就是在之前的sql语句里,将offset用单引号括起来。
另外一个方法就是修改列名。就看哪一个实现比较方便了。

这种问题怎么避免呢?看着是没有什么太好的办法。谁知道SQL还会添加什么关键字进来!所以在实际工作中,我们经常可以看到很多工具生成的sql语句都是字段加引号的情况;因为不知道字段名称是不是关键字,为了通用性,所有的都加引号。下面两个链接是mysql关于预留关键字加引号的说明,可以参考。
https://dev.mysql.com/doc/refman/8.0/en/keywords.html
https://dev.mysql.com/doc/refman/8.0/en/identifiers.html
“An identifier may be quoted or unquoted. If an identifier contains special characters or is a reserved word, you must quote it whenever you refer to it. (Exception: A reserved word that follows a period in a qualified name must be an identifier, so it need not be quoted.) Reserved words are listed at Section 9.3, “Keywords and Reserved Words”. ”

相关文章:

  • Tomcat转SpringBoot、tomcat升级到springboot、springmvc改造springboot
  • DRF从入门到精通二(Request源码分析、DRF之序列化、反序列化、反序列化校验、序列化器常用字段及参数、source、定制字段、保存数据)
  • 【音视频】Mesh、Mcu、SFU三种框架的总结
  • 洛谷 NOIP2016 普及组 回文日期
  • TensorFlow(2):Windows安装TensorFlow
  • Maths
  • myspl左外连
  • Echarts饼图tooltip渐变色,内部legend百分比保留整数方法
  • Flutter本地化(国际化)之App名称
  • 压力测试(超详细总结)
  • 【Spring实战】配置多数据源
  • [调试]stm32使用过程debug记录,持续更新ing
  • 蓝牙物联网与嵌入式开发如何结合?
  • [笔记]netty随笔
  • centos 7.4 docker
  • [NodeJS] 关于Buffer
  • 【技术性】Search知识
  • ECMAScript入门(七)--Module语法
  • Idea+maven+scala构建包并在spark on yarn 运行
  • IndexedDB
  • Java的Interrupt与线程中断
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • MobX
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • vue脚手架vue-cli
  • 阿里云应用高可用服务公测发布
  • 技术:超级实用的电脑小技巧
  • 你不可错过的前端面试题(一)
  • 实习面试笔记
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 树莓派 - 使用须知
  • 数据可视化之 Sankey 桑基图的实现
  • ​io --- 处理流的核心工具​
  • #13 yum、编译安装与sed命令的使用
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (C语言)二分查找 超详细
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (ZT)薛涌:谈贫说富
  • (第一天)包装对象、作用域、创建对象
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • ... 是什么 ?... 有什么用处?
  • ..回顾17,展望18
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .net 发送邮件
  • .net连接oracle数据库
  • .NET正则基础之——正则委托