C# 操作mysql 引号引发的问题

使用C#开发程序,查询数据库。因为是一个简单的查询。
假如数据库的表名为:student。主键为 id ,该列的数据结构为 varchar(100)。
执行的sql语句为:

  1. select * from student where id = 121212122112;

以上语句中,id为 121212122112 的数据有且仅有一条。

一般情况执行该sql是没有任何问题的。之前也没有发现有什么问题。

近来线上出现了一个问题。

当执行以上语句进行查询的时候。查出来了两条数据。这个就令人费解。

经过一个小时的资料查找终于发现问题:
参考一下博客:
https://blog.csdn.net/weixin_45861581/article/details/130327652

https://blog.csdn.net/he02980272/article/details/139566236

在使用sql进行查询的时候会出现将 [121212122112] 进行转换。可能查询不到结果或者查询出来多条数据的问题。

尤其是当数据量够大的情况下。很容易出现错误。

正确的写法为:

  1. select * from student where id = '121212122112'

从而解决问题。

一个引号引发的血案。

2024-08-19 00:36:18  user 阅读(62) 评论(0) 标签:C#,mysql,引号 分类:C#