当前位置: 主页 > 数据库

数据库count 1-count sql 数据比对

发布时间:2023-02-08 22:49   浏览次数:次   作者:佚名

今天实现一个添加的功能,首先查询数据库中是否有数据,如果有则添加失败,否则可以添加。

这么简单的逻辑,我还是很迷惑。 具体问题如下:

1、首先查看数据库中是否有数据,执行查询结果,可以看到控制台窗口中查询结果的总和为1数据库count 1,但是combitransholderCount变量的值可以通过debug返回为0,厉害了,再往下看数据库count 1,把控制台里的sql放到数据库里执行,结果也是1,那么这个0是怎么来的呢?

数据库count 1_count 1 与count 效率_count sql 数据比对

586f6cb8cc07dae452141556a90081da.png

2a15c68a493aa157b24e4d6c139be193.png

count 1 与count 效率_count sql 数据比对_数据库count 1

8c929bde50205049f9cf85fde581d6a5.png

2、分析原因:

数据库count 1_count 1 与count 效率_count sql 数据比对

前端可以选择多个数据,我选择了两个股东信息,此时控制台查询结果可以看到如下:

3a4d9cb1c898d12edeb3b871832c0bbf.png

count 1 与count 效率_count sql 数据比对_数据库count 1

这时候可以看到stockholder_id对应的参数值是:'A010011011','A010011012'(String),然后把这个参数拿到mysql中去执行,就会奇怪,为什么这个参数值这么奇怪,它仍然运行? 报错,但代码运行正常

fc3b8932b4ce06c71b4cc8a98f04030e.png

数据库count 1_count sql 数据比对_count 1 与count 效率

问题就来了,为什么后面的标识符已经是String了,而且还有引号呢? 只要把引号去掉,试一下就可以了,所以问题就很清楚了:

6b7cc15d05a9eb6cf8fa55ee6f62be62.png

不知道是哪个人写的,把这里的引号去掉,问题就解决了。