【MySQL】数据库报错集

一. 报错列表

1.1. Out of range value for column “xx” at row x

在这里插入图片描述

  1. 阐述:第 “x” 行的列 “xx” 超出范围
  2. 原因:建表时,类型bigint且长度20,如下字段的值超过其可输入的范围了
  3. 解决:修改该值为该列所设的长度即可

1.2. Incorrect datetime value:“for column 数据库名.表名.字段” at row 1

2

  1. 阐述:在xx数据库的xx表中xx列是不正确的日期值。
  2. 原因:如下设置默认为NULL,那么默认为 ‘0000-00-00 00:00:00’
  3. 解决:填入的值为 “0000-00-00 00:00:00” 才不会报错
    在这里插入图片描述

1.3. Cannot deserialize value of type java.util.Date from String “2023-05-29T18:02:02.000Z”: expected format “yyyy-MM-dd HH:mm:ss”;

在这里插入图片描述

  1. 阐述:需要的是 yyyy-MM-dd HH:mm:ss 格式,而得到的是 yyyy-MM-ddTHH:mm:ss.000Z
  2. 原因:前后端传值,调用接口传的参数不正确
  3. 解决:可以通过过滤器将时间转为后端所需的,见附录二的 2.1

1.4. Operand should contain 1 column

在这里插入图片描述

  1. 阐述:俩表联查,操作的数据里查询结果没有列值
  2. 原因:这一块暂未搞懂
  3. 参考:原因

1.5 Subquery returns more than 1 row

在这里插入图片描述

  1. 阐述:俩表联查,子查询返回了多条数据
  2. 原因:该sql只能返回一条数据
  3. 参考:一表(树形结构)联查,返回树形结构。附录二 2.2

1.6 Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column ‘xxx.updata_time’ in ‘order clause’\r\n### The error may exist in file

在这里插入图片描述

  1. 阐述:找不到该列“borrow.updata_time”
  2. 原因:update_time 写错了

1.7 class java.lang.String cannot be cast to class java.util.Date (java.lang.String and java.util.Date are in module java.base of loader ‘bootstrap’)

在这里插入图片描述

  1. 阐述:将String 转为Date类型是不允许的
  2. 原因:前端使用组件el-data-picker实现筛选时间功能,在传参时传的时间类型是’String’,然而在后端接收时转为了‘Date’
  3. 解决:前后端修改为一样的String类型即可

1.8 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘[borrow_state] LIKE ‘%21%’)’ at line 1\r\n### The error may exist in org/springblade/modules/archiveAdvantage/mapper/ArchiveBorrowRelateMapper.java (best guess)\r\n### The error may involve defaultParameterMap\r\

在这里插入图片描述

  1. 阐述:SQL语法错误
  2. 原因:传参时类型错误
    在这里插入图片描述

1.9 Failed to process,Error SQL

在这里插入图片描述

  1. 阐述:SQL错乱
  2. 原因:多写或少写了无用的字段

1.10 nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘param’ not found. Available parameters are [page, params, param1, param2]"

在这里插入图片描述

  1. 阐述:param未找到
  2. 原因:在使用sql语句时,使用了param.xxx。然而未定义
    在这里插入图片描述
    在这里插入图片描述
  3. 解决:加上即可 @Param(“param”)
    nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2"

1.11 nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2

在这里插入图片描述

扫描二维码关注公众号,回复: 15633763 查看本文章
  1. 阐述:期待得到一个结果,结果发现了俩个
  2. 原因:后段获取列表的方法getOne只允许有一条返回值

1.12

在这里插入图片描述
在这里插入图片描述

二. 附录

2.1. 日期格式转换

// 1. 先放在js文件,路径为:@/utils/date.js
export function dateFormat(date, format) {
    
    
  format = format || 'yyyy-MM-dd hh:mm:ss'
  if (date !== 'Invalid Date') {
    
    
    let o = {
    
    
      'M+': date.getMonth() + 1, //month
      'd+': date.getDate(), //day
      'h+': date.getHours(), //hour
      'm+': date.getMinutes(), //minute
      's+': date.getSeconds(), //second
      'q+': Math.floor((date.getMonth() + 3) / 3), //quarter
      S: date.getMilliseconds(), //millisecond
    }
    if (/(y+)/.test(format))
      format = format.replace(
        RegExp.$1,
        (date.getFullYear() + '').substr(4 - RegExp.$1.length)
      )
    for (let k in o)
      if (new RegExp('(' + k + ')').test(format))
        format = format.replace(
          RegExp.$1,
          RegExp.$1.length === 1
            ? o[k]
            : ('00' + o[k]).substr(('' + o[k]).length)
        )
    return format
  }
  return ''
}

// 2. 在vue文件中使用
 import {
    
     dateFormat } from '@/utils/date'
 methods: {
    
    
	submit(){
    
    
	let time = dateFormat(要处理的时间)
 }

2.2 一表自连查,获取到子级列表以及父级名称

– 1. 自联查获取父级名称
SELECT sort.*,( SELECT ca.catamanage_name FROM admin_archive_attach_sort ca WHERE ca.id = sort.parent_id ) AS parentName
FROM
admin_archive_attach_sort sort
WHERE
sort.id = ‘1661347708339924994’

– 2. 自联查获取父级名称
SELECT
sort.*,
ca.catamanage_name parentName
FROM
admin_archive_attach_sort sort
LEFT JOIN admin_archive_attach_sort ca ON sort.parent_id = ca.id
WHERE
sort.id = ‘1661347708339924994’

猜你喜欢

转载自blog.csdn.net/weixin_47375144/article/details/130944025