错误:MySQL -操作数应包含1列

dauxcl2d  于 2023-08-02  发布在  Mysql
关注(0)|答案(2)|浏览(174)

这个查询在我直接输入mysql时有效,但在C#中无效。

  1. double deltaTime = (DateTime.Now - collectTime).TotalSeconds;
  2. string query = String.Format("UPDATE buildings LEFT JOIN server_buildings ON buildings.global_id = server_buildings.global_id AND buildings.level = server_buildings.level SET buildings.storage = buildings.storage + (server_buildings.speed * {0} * IF(buildings.boost >= NOW(), 2, 1)) WHERE buildings.global_id IN('generator', 'test')", deltaTime / 3600d);

字符串
只有得到错误MySQL -操作数应该包含1列(s)感谢建议!:)
预计随着时间的推移,它将增加价值的“存储”

hgc7kmma

hgc7kmma1#

谢谢,感谢所有的帮助!我对mysql相当陌生。这里是参数。

  1. string query = String.Format("UPDATE buildings JOIN server_buildings ON buildings.global_id = server_buildings.global_id AND buildings.level = server_buildings.level SET buildings.storage = buildings.storage + (server_buildings.speed * ?Num * IF(buildings.boost >= NOW(), 2, 1)) WHERE buildings.global_id IN('generator', 'test')");
  2. using (MySqlCommand command = new MySqlCommand(query, connection))
  3. {
  4. MySqlParameter param = new MySqlParameter("?Num", (deltaTime / 3600d));
  5. command.Parameters.Add(param);
  6. command.ExecuteNonQuery();
  7. }

字符串

zfciruhq

zfciruhq2#

找到解决办法了。我的系统语言不是英语。解决方案为:

  1. (deltaTime / 3600d).ToString("F7").Replace(",", ".")

字符串

相关问题