mysql 踩过的坑_那些年,mysql踩过的坑。。。

1、mysql报Fatal error encountered during command execution的解决办法

项目迁移,老数据需要同步到新的新系统,项目的订单量特别多,自己搞了一套小程序,分页执行,每次执行100条订单,但是100条订单牵涉到的订单SQL也得好长,我用的是Dapper来execute我的sql,前期还ok。

但是跑着跑着,程序就挂了,幸亏我机智的记了日志。Fatal error encountered during command execution,第一次见到这样的错误,如何破?果断百度了一发,解决方法,连接字符串中增加Allow User Variables=True,

试了一下,阔以了,但是后来同步的时候,又碰到一次,我又把程序启动重新跑,就没有这个问题了。。。可能我这个解决方法只是暂时的,所以说,业务实现上,我把原本100条一跑的sql,换成50个订单生成一个大sql。这样大概出现这个问题的可能性就很小了。

2、还是上面的场景,这次是由于特殊字符,准确的说是我C#代码开发挖的坑,SQL执行插入的话是没有问题的,bd.ToString().Replace('"', '''),之前的同事开发的时候,默认把双引号改成'这种,不明觉厉,正常插入双引号也是没有问题的,不知道他怎么想的。。。

3、check the manual that corresponds to your MySQL server version for the right syntax to use near这个错误跟第二个是同一个场景,问题是因为特殊字符的原因,前期百度了下,也有人碰到别的问题,自己备注一下,后期希望这个错误少踩坑。

a.看表名是不是使用了Mysql的关键字,如果是,请立马改掉;

b.语句给出哪里错误,如我的题目中给出“near”,说明在那附近有问题,我的错误是,在where前多加了逗号,去掉就行了

4、The CommandText property has not been properly initialized.

使用Dapper execute sql,报错,这个问题很早很早以前碰到过,要执行的语句是空,很多同步程序都会碰到。。。

5、未完待续。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值