Out of range value adjusted for column

本文解决MySQL5.0.17升级后执行SQL插入语句时出现#1264错误的问题,提供了两种调整配置的方法。

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

MySQL升级到5.0.17后,在执行sql语句
mysql:#1264 - Out of range value adjusted for column 'ID' at row 1

INSERT INTO `news` (`ID`, `Title`, `Content`) VALUES ('', '标题', '正文');
时出现错误:
#1264 - Out of range value adjusted for column 'ID' at row 1

原因:
新版本的MySQL对字段的严格检查。

解决方法(两种方法任选一种即可):
1、修改my.ini,将sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
改为sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"。也就是去掉STRICT_TRANS_TABLES 这个东东就好了,然后重新启动MySQL。推荐这个方法。下面个方法比较麻烦,会给以后的编程带来麻烦。。。不推荐,但是还是在这里说一下。
2、在执行sql语句前,先执行以下语句:
mysql_query("set sql_mode=''");
def format_attendance_report(output_path, exclude_columns=["匹配状态"]): """ 优化考勤报表格式的专用函数 参数: output_path - 需要格式化的文件路径 exclude_columns - 需要排除格式化的列(默认包含"匹配状态") """ try: wb = load_workbook(output_path) # 定义通用样式 header_font = Font(bold=True, color="FFFFFF") header_fill = PatternFill(start_color="4F81BD", end_color="4F81BD", fill_type="solid") body_font = Font(name="微软雅黑", size=10) thin_border = Border(left=Side(style='thin'), right=Side(style='thin'), top=Side(style='thin'), bottom=Side(style='thin')) for sheet_name in wb.sheetnames: ws = wb[sheet_name] # 设置列宽自适应 for col in ws.columns: max_length = 0 column = col[0].column for cell in col: if cell.value and cell.column not in exclude_columns: try: if len(str(cell.value)) > max_length: max_length = len(str(cell.value)) except: pass adjusted_width = (max_length + 2) * 1.2 ws.column_dimensions[get_column_letter(column)].width = min(adjusted_width, 30) # 设置表头样式 for cell in ws[1]: if cell.column not in exclude_columns: cell.font = header_font cell.fill = header_fill cell.alignment = Alignment(horizontal="center") # 设置正文样式 for row in ws.iter_rows(min_row=2): for cell in row: if cell.column not in exclude_columns: cell.font = body_font cell.border = thin_border if isinstance(cell.value, (int, float)): cell.alignment = Alignment(horizontal="right") else: cell.alignment = Alignment(horizontal="left") # 设置冻结窗格 ws.freeze_panes = "A2" # 设置时间列格式 time_columns = [col for col in ws[1] if "时间" in str(col.value)] for col in time_columns: column_letter = get_column_letter(col.column) for cell in ws[column_letter][1:]: cell.number_format = "yyyy-mm-dd hh:mm:ss" wb.save(output_path) return True except Exception as e: print(f"格式化失败:{str(e)}") return False请对这个excel处理函数进行优化,要求,1,所有单元格字体设置为微软雅黑。2.首行字体大小16,加粗,白色,其余为黑色12。3.首行行高22,其余行行高18。4.开启首行筛选,并冻结首行。5.A~I列,列宽12,J列列宽99。6.A~I列,高度长度居中,J列高度居中,长度靠左
最新发布
03-10
### 关于第九届全国GIS技能大赛上午的信息 #### 修改地图坐标系 为了使扫描图具有正确的坐标值和坐标系,需执行地理配准操作。具体而言,对于给定的地图图像文件(如`world_map.jpg`),应先确认其原始坐标系为WGS1984,并设定中央经线为东经150°。通过软件工具完成这一过程可以确保后续的空间数据分析准确性[^2]。 #### 地理配准流程 在ArcGIS或其他支持地理信息系统(GIS)功能的应用程序中,可以通过加载待校正的栅格影像(`topo_map.jpg`)并利用控制点匹配的方式实现精确配准。此过程中可能涉及到调整旋转角度和平移参数来最小化误差,从而获得与实际地理位置相吻合的结果[^5]。 #### 数据处理与可视化 一旦完成了上述步骤,则可以根据比赛要求进一步处理其他矢量或栅格数据集,比如叠加显示冰川边界、等高线以及河流网络等要素。这些图形元素有助于构建更全面的地貌特征描述,同时也便于评估地形变化趋势及其潜在影响因素。 #### DEM创建及三维建模 基于已有的高程信息建立数字高程模型(DEM),能够提供直观的高度分布视图,并为进一步生成立体景观奠定基础。这一步骤通常涉及插值算法的选择和优化,以保证输出质量满足竞赛评判标准的要求。 ```python import arcpy # 设置工作空间环境 arcpy.env.workspace = "D:/GIS_Contest/上午" # 定义输入输出路径变量 input_raster = "topo_map.jpg" output_gdb = "D:/GIS_Contest/上午/结果/result.gdb" output_dem_name = "TopoMap_DEM.tif" # 执行DEM转换命令 arcpy.RasterToOtherFormat_conversion(input_raster, output_gdb, "GRID") print(f"DEM 已成功保存至 {output_gdb}/{output_dem_name}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值