当mysql数据库转换为sqlserver数据库时常见报错

  

下面是我在把mysql数据库转换为sqlserver数据库候遇到过的一些错,踩过的坑,把它总结下来防止以后再出错。

报错 1:

com.microsoft.sqlserver.jdbc.SQLServerException: 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'user_student'中的标识列指定显式值。

 

出错原因:

当mysql数据库转换为sqlserver数据库时,如果第一个id设置为自动递增,那么

String sql = "insert into s_class values(null,?,?)";这种插入就直接回导致这个错误。

 

解决:将sql语句改为:String sql = "insert into s_class values(?,?);改成这样,插入语句才不会报错,

其实标题那句话错误的意思就是这样,如果已经设置为自动递增的字段,在sqlserver中是不允许,为这个字段设置显式值
 


报错 2:

Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'user' 附近有语法错误

出错原因:sql Server中user是关键字,因此报错

解决:在写查询语句的时候要在user上加[ ]

例如:select * from [user] from where id=2.另外order也是关键字 ,建议表名射程其他的词防止报错。

 报错 3:

java.lang.Exception: Method all should have no parameters

出错原因:做测试的时候,@Test带了参数,

eg:public User findById(int id) { }

解决:去掉参数,eg:public User findById() { }

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值