更新多个字段

时间:2014-03-31 21:04:57

标签: c# mysql database sql-update mysql-connector

首先,我正在使用MySQL-Connector / Net和MySQL数据库。 请不要告诉我应该使用或者我不尝试捕捉。我有,但我只想发布少量代码。

我想在一个位置更新多个字段,但它无法正常工作。我收到了语法错误。

(来自评论)我收到此错误:

  

MySql.Data.MySqlClient.MySqlException(0x80004005):您的SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以便在' + 1,allC = allC + 50'附近使用正确的语法。在第1行

sql_command.CommandText = "Update Test Set x1 + 1 And allC + ?Ammount Where = 1;";
sql_command.Parameters.Add("?Ammount", MySqlDbType.Int32).Value = dataTable.Tables[0].Rows.Count;

sql_command.ExecuteNonQuery();

但这不是吗? 我真的不需要where子句,因为它只是一个我想说的数字表,因此不会超过一行。 但如果尝试的话,它也无法正常工作:

sql_command.CommandText = "Update Test Set x1 + 1 And all + ?Ammount;";

我还有另外一个问题。 如果我想从数据库中获取一个条目并且它只是一个,这是最简单的方法吗?

那就是它,但是如何将此记录保存在代码量较少的字符串中呢?

sql_command.CommandText = "Select ID From Customer Order By ID Desc Limit 1;";

2 个答案:

答案 0 :(得分:2)

将表达式分配到列并使用逗号(,)代替And

Update Test 
  Set x1 = x1 + 1, all = all + ?Ammount 
  Where = 1;

此外,您的WHERE条款无效,但我需要更多信息才能为您解决此问题。

答案 1 :(得分:1)

UPDATE语句的SQL语法超出了修复范围:

Update Test Set x1 + 1 And all + ?Ammount Where = 1;

哪个字段WHERE = 1应该引用? 哪个字段应该获得x1 + 1的价值?

除非经过重大修改,否则我不相信这个问题可以得到妥善回答;请提供一些关于你想要用UPDATE语句做什么的描述。

此外,最后一个SELECT语句可以替换为以下内容:

SELECT MAX(ID) FROM Customer;

这会更具可读性。