Out of range value for column '字段名' at row 1 异常

本文探讨了在MySQL中遇到的OutOfRangeValueForColumn异常原因及解决方案,主要涉及字段长度不足和数据类型不匹配的问题,提供了调整字段长度和类型的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、记录一下 Out of range value for column ‘字段名’ at row 1 异常

在mysql 添加数据或更新字段数据时,报出 标题异常,
1、字段长度不够 ,这种情况添加字段长度就可以了
2、类型不对,因为在mysql中不同类型的数据类型,存储的字节位数也是不一样的,这样的话就需要更改字段数据类型,其实跟比如使用Mybatis 操作mysql,传参的数据类型也有关系,表中定义的字段为group_id 为int,但是传参为Long 就会出现这个问题,为了解决这个问题,可以修改字段类型为bigint 或者穿的参数类型为integer。对于mysql 中不同的数据类型 可以查看这里,或者网上搜索

'Public Type GlueRed ' ID As Long ' CLOUM_NAME As String '列对应的字段名称,对应数据库字段 ' value As Variant ' ON_TYPE As String '记录类型是修改还是删除还是新增 'End Type '记录单元格内容变更的数据方法,保存好后续需要提交的数据 Public TypeArr() As GlueRed ' 判断数组是否已初始化 Function IsArrayInitialized(arr As Variant) As Boolean On Error Resume Next IsArrayInitialized = (Not IsEmpty(arr) And Not IsError(LBound(arr))) End Function Public Function addTypeArr(addglue As GlueRed) If Not IsArrayInitialized(TypeArr) Then ReDim TypeArr(0) Else ReDim Preserve TypeArr(LBound(TypeArr) To UBound(TypeArr) + 1) End If TypeArr(UBound(TypeArr)) = addglue End Function Private newglue As GlueRed Private Sub Worksheet_Change(ByVal Target As Range) Dim row_no As Long Dim col_str As String Dim hang As Long Dim ws As Worksheet Set ws = Sheet2 With ws hang = .Cells(65536, Target.Column).End(xlUp).Row If Target.Row < hang + 1 And Target.Column <> 1 Then '在最大行号+1范围内编辑生效 ''删除的判断 ' If Not IsRowExists(Sheet2, Target.Row) Then ' newglue.ID = .Cells(Target.Row, 1) ' newglue.On_Type = "删除" ' End If If IsEmpty(.Cells(Target.Row, 1).Value2) And Target.Row = hang Then 'id为空则新增 If VarType(.Cells(Target.Row, "B").Value2) <> 7 Then '日期不对则报错 MsgBox "日期错误!" Exit Sub End If newglue.CLOUM_NAME = .Cells(3, Target.Column) newglue.Value = Target.Value2 newglue.On_Type = "新增" ElseIf Not IsEmpty(.Cells(Target.Row, 1).Value2) Then 'ID不为空则更新 newglue.ID = .Cells(Target.Row, 1) newglue.CLOUM_NAME = .Cells(3, Target.Column) newglue.Value = Target.Value2 newglue.On_Type = "更新" End If addTypeArr (newglue) End If End With End Sub Function IsRowExists(ws As Worksheet, rowNumber As Long) As Boolean On Error Resume Next IsRowExists = (ws.Rows(rowNumber).RowHeight > 0) On Error GoTo 0 End Function 分析我的代码,为什么我将自定义类型传递给addTypeArr方法不
07-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值