SQL Server修改表的时候出现错误:未更新任何行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server修改表的时候出现错误:未更新任何行相关的知识,希望对你有一定的参考价值。
如图,这一列的数据类型是datetime。下面几行都是由2007改成2014的,为什么就第一行不行呢?第一行改的时候出现错误:未更新任何行,错误源:Provider,错误信息:截断字符串或二进制数据。
当对sql数据库中的表进行编辑时,会出现“未更新任何行”的错误,这是可能是因为插入了一条与之前相同的记录或者不满足某种约束类型,这时数据库当然不能更新任何行了。
此时应该检查一下是否输入了错误的数据,并与之前已输入的数据记录进行比较,确定正确之后再录入数据。若仍有“未更新任何行”的错误并且保存不了这个表,也退不出去,这时就需要用sql语句来删除已录入的错误数据。
扩展资料
Sql 修改表结构的操作
1、添加表字段
alter table 表名 add 字段名 类型(值)
示例:alter table user add name varchar(40);
2、删除表字段
alter table 表名 drop 字段名
示例: alter table user drop name;
3、字段名更名
alter table 表名 rename 老字段名 to 新字段名
示例:alter table user rename oldname to newname;
4、更改字段类型
alter table 表名 alter 字段 类型;
示例:alter table user alter name varchar(50);
参考技术A 截断字符串或二进制数据。这句说的是你的值超过范围。跟下面几位说的一样。但不一定都是这样的。你看下你的表有没有主键,没有的话,你看下你第一个字段的值有没有更其他行的第一个字段值重复了,如果重复往往就没法直接改。只能用sql语句删除了,重新添加。 参考技术B update Table set IssueDate=replace(IssueDate,'2007','2014')本回答被提问者和网友采纳 参考技术C 这个错误是值长度超出了范围……你看看这个字段是否有什么限制……你可以把这个表的创建过程我发给我看看追问
肯定没有超,数据类型是DataTime。下面几行的都可以改,就这行不行。空格什么的分隔符我都注意了,完全没问题。但就是改不了。
追答你把它改成2014-05-01试试
追问不行,不是改成什么行不行而是根本就不能改。
追答那你这条记录跟别的表中记录有没有关联?
参考技术D 将数据库表这列的长度调大一点追问数据类型是datetime。而且另外几行都可以改,就这行不行。
对 sql server 表的更新出现错误 java.lang.NoClassDefFoundError: com/microsoft/sqlserver/jdbc/TDSWriter$1
【中文标题】对 sql server 表的更新出现错误 java.lang.NoClassDefFoundError: com/microsoft/sqlserver/jdbc/TDSWriter$1【英文标题】:Update to sql server table is giving error java.lang.NoClassDefFoundError: com/microsoft/sqlserver/jdbc/TDSWriter$1 【发布时间】:2019-04-22 18:26:07 【问题描述】:当我在本地运行我的应用程序时,对 SQL Server 表的更新工作正常。但是当我尝试在我们的 linux 服务器上的 jenkins 上运行已部署的版本时,它给了我错误“java.lang.NoClassDefFoundError: com/microsoft/sqlserver/jdbc/TDSWriter$1”。
我正在使用 org.springframework.data.repository.save 来更新我在表中的记录。
try
userRepository.save(personnel);
catch (Exception e)
String message = "There is an exception while updating userrecord in the database";
logger.error(message, e);
java.lang.NoClassDefFoundError: com/microsoft/sqlserver/jdbc/TDSWriter$1 com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCByteArray(IOBuffer.java:4526) com.microsoft.sqlserver.jdbc.DTV$SendByRPCOp.execute(dtv.java:1158)com.microsoft.sqlserver.jdbc.DTV.executeOp(dtv.java:1311) com.microsoft.sqlserver.jdbc.DTV.sendByRPC(dtv.java:1503)
【问题讨论】:
【参考方案1】:我已经解决了这个问题。在部署应用程序的 linux 服务器上,我有多个版本的 sqljdbc jar。只需要一个 sql jdbc jar(sqljdbc42.jar)。所以删除其他 sql jdbc jar 已经解决了这个问题。它在我的本地工作,因为我的系统上没有多个版本。
【讨论】:
以上是关于SQL Server修改表的时候出现错误:未更新任何行的主要内容,如果未能解决你的问题,请参考以下文章