Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在MySQL中使用Json字段,导致行为不一致(C)_C#_Mysql_Json - Fatal编程技术网

C# 在MySQL中使用Json字段,导致行为不一致(C)

C# 在MySQL中使用Json字段,导致行为不一致(C),c#,mysql,json,C#,Mysql,Json,我试图确定一个值是否已经存在于一个简单的Jason数组中 在我的代码中,我构建了以下字符串: SELECT * FROM Groups WHERE JSON_CONTAINS(Members,'7') AND CompanyId = 1 AND Name ="QA" var numRowsUpdated = cmd.ExecuteNonQuery(); json列的内容如下:[3,7] 如果数组中是否有7,则返回的值始终为-1。 将相同的字符串粘贴到MySQL Workbench中,我得

我试图确定一个值是否已经存在于一个简单的Jason数组中

在我的代码中,我构建了以下字符串:

SELECT * 
FROM Groups 
WHERE JSON_CONTAINS(Members,'7') AND CompanyId = 1 AND Name ="QA"

var numRowsUpdated = cmd.ExecuteNonQuery();
json列的内容如下:[3,7] 如果数组中是否有7,则返回的值始终为-1。 将相同的字符串粘贴到MySQL Workbench中,我得到了预期的结果

我是否错误地使用了JSON_CONTAINS

顺便说一句:与“7”相同的行为,顾名思义,ExecuteOnQuery不适用于返回数据的查询,如SELECT。它用于插入或更新之类的操作,并返回受更新影响的行数

我记不起MySQL中受影响的行在非更新查询中的确切语义,但使用类似SELECT COUNT*FROM的查询更清楚。。。然后ExecuteScalar获取计数,如果您只关心返回的行数