请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

一次特殊的“VARCHAR转numeric失败”错误记录

[复制链接]
查看: 43|回复: 0

8498

主题

8498

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
25504
发表于 2019-12-3 08:07 | 显示全部楼层 |阅读模式
本日兵戈到一个很故意义的题目。当我在尝试一条INSERT的sql语句时,他总是报字符串转数字典范失利。
题目
首先,该表中的全数数字典范的字段都黑白必填,其次,每个数字典范的字段都有默许值。最令我感应迷惑的是,当我测试不参加那些必填字段做INSERT时,数据库仍然报这个毛病,这就让我有点摸不着脑筋了,由于我的经历是当你新增数据而没有增加必填字段一路时(这些字段没有默许值),数据库必定是会报这个毛病,而且当SQL中存在其他毛病时,也是优先报出这类毛病。所以本日这个毛病让我感应很迷惑。
固然很迷惑这个报错的情况不合适自己以往的经历,但照旧计划循着这个毛病描摹去对每个字段作检查。
调试
首先,将INSERT语句中的非数字典范的字段及其值删除,尝试后,发现照旧会报一样的毛病,而且供给的全数的值都是数字。接着,检察表中有哪些数字典范的字段,然后再检察INSERT语句中缺少了哪个,终究发现一个数字典范的字段不存在于INSERT中,因而增加这个字段做测试,果不其然,语句乐成尝试。到这里,底子上能猜测到致使该题方针原因起因了,也即,当我没有增加该字段做新增时,语句失利,增加后,语句乐成,那末很明显,是该字段的默许值有题目(由于数字典范的字段在不做处置惩罚的情况下,是不成以保存空值的)。经过检查,该字段的默许值是一个空字符串''。打点方式很简单,点窜其默许值为0即可。
总结
此次碰到的这个题目,并不复杂,使得自己愿意写一篇文章的原因起因垂危是自己的经历拐骗了自己。出格是在不增加必填字段尝试语句时,报的毛病居然不是合适自己经历的情况,这让自己走进了误区。背面,自己将会去深入的研讨一下,SQL报错时,是基于什么优先际状处置惩罚的。

免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 淄博新闻网-淄博日报 淄博晚报 淄博财经新报 掌中淄博 淄博专业新闻资讯发布网站 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表