在Java中使用SQL设置值

在Java中使用SQL设置值,java,sql,Java,Sql,初学者的问题:我正在尝试使用Java处理关系中两个不同属性的元组来处理SQL(对于一所大学来说是非实用的)。 我与四个属性有关,包括一种咖啡的名称、该周的销售额以及咖啡的总销售额 我试图创建的代码将用新数字更新sales和total字段。它意味着获取totalSales和Sales数组,添加它们,然后相应地更新关系中的两个属性 这是到目前为止我的代码(我已经删除了所有明显的/不必要的代码): String updateTotalString=“update COFFEES set TOTAL=?

初学者的问题:我正在尝试使用Java处理关系中两个不同属性的元组来处理SQL(对于一所大学来说是非实用的)。 我与四个属性有关,包括一种咖啡的名称、该周的销售额以及咖啡的总销售额

我试图创建的代码将用新数字更新sales和total字段。它意味着获取
totalSales
Sales
数组,添加它们,然后相应地更新关系中的两个属性

这是到目前为止我的代码(我已经删除了所有明显的/不必要的代码):

String updateTotalString=“update COFFEES set TOTAL=?set SALES=?其中COF_NAME=?”;
字符串[]咖啡={“哥伦比亚”、“格雷伯爵”、“肯尼亚”、“雀巢”};
int[]总销售额={4006503401000};
int[]销售额={50,75100100};
updateTotal=con.prepareStatement(updateTotalString);
对于(int i=0;i
不幸的是,运行它会导致SQL语法错误,主要集中在第一行(字符串updateTotalString)。我有一种感觉,这与我试图在一行中做两组,但语法错误有关。

有人能帮我吗?

使用
而不是多个
集合

String updateTotalString = "update COFFEES set TOTAL = ?, SALES = ? where COF_NAME = ?";
update的基本语法是

UPDATE tableName
SET colA = '',
    colB = '', .....
WHERE ....

您的更新字符串应该如下所示:

String updateTotalString = "update COFFEES set TOTAL = ?, SALES = ? where COF_NAME = ?";
String updateTotalString=“更新咖啡套餐总额=?套餐销售额=?其中”
+“COF_NAME=?”;
在查询中,您使用了两次
set
关键字,这是不正确的语法

相反,您应该在多个值之间使用
逗号来设置

String updateTotalString=“update COFFEES set TOTAL=?,SALES=?其中COF_NAME=?”;

您的更新语法错误:

UPDATE `tableName`
SET
`col1` = ?,
`col2` = ?
WHERE somecondition;

选中

作为旁注;您的SQL大写字母是向后的,表名和字段名通常是小写的,而SQL关键字通常是大写的。@lynks:谢谢您的建议。我使用的是Java语法(我认为在声明方法时,使用小的第一个字母,然后是大写字母作为生词。我甚至没有想过SQL大写。谢谢你提出它!非常棒,非常有用。我知道这将是一个愚蠢的错误!答案可能是从对手那里偷来的。@RomanC。。是的,实际上世界大战正在进行,如果我不回答,我可能会死呃,所以我偷了。说真的,你们这种人有什么样的思维水平。请检查一下这个答案和其他答案的时间戳,想想看,你是否能在这么短的时间内偷。
UPDATE `tableName`
SET
`col1` = ?,
`col2` = ?
WHERE somecondition;