我对sql知之甚少,有人能给我一个更深层次的解释(或引用)这个异常意味着什么吗?
- 更新
要在VARCHAR中添加的数据是:
30819f300d06092a864886f70d010101050003818d00308189028181008942f81b3ae99e5f66dbc92cb971366f513c056e0bd6557c021058f6892d3a648230959c95378969f6dcb63046431fc0d39799789d307f96c811ae3836e43075e8cf21af84ce84f1e9c68773c9fbf03149f40248797a92562d55698dc7dce9f840bad0dfb47ccb982a2f015461cd5d38a3d6d75b349ce0bd89e3535ee8091ce70203010001
有325个字符。
我的VARCHAR大小为330并且抛出了这个异常:
SQL异常:截断错误是 遇到尝试收缩VARCHAR '30820276020100300d06092a864886f70d0101010500048202603082025c&安培;' 到330的长度。
(请注意,错误消息中指定的VARCHAR与我尝试插入的VARCHAR不同,我不知道为什么)
考虑到这个大小,我的数据不能大于VARCHAR,正如你所看到的那样。
可能有什么问题?
- 结果
在准备SSCCE时,我意识到我在错误的地方插入了错误的数据.. XD
答案 0 :(得分:6)
这意味着您的VARCHAR字段(可变长度字符串字段)的长度为X,例如100,而您尝试插入的数据长度超过100个字符。
SQL Server不会在varchar字段的最大长度上自动截断您的数据 - 您必须确保自己不要插入超出字段可容纳的数据。
答案 1 :(得分:0)