gpt4 book ai didi

java - 无法使用java更新mysql中的列值?

转载 作者:行者123 更新时间:2023-11-30 01:08:27 26 4
gpt4 key购买 nike

我在 mysql 中创建了一个表,其中包含一列“Sno”。并在“Sno”列中插入 1 到 10。我想根据 Sno 更新列值,但无法做到这一点。请帮我。谢谢。

这是我的代码。

int o=2,q=0;
ResultSet rs = st7.executeQuery("select * from table");
ResultSetMetaData metadata = rs.getMetaData();//here is columns are added dynamically,So that is metadata is needed.

BufferedReader br1 = new BufferedReader(new FileReader(f1));//here f1 is csv file path.

while ((line1 = br1.readLine()) != null) {

String[] splits = line1.split(",");//splitting line by ',' and storing into array.

n1 = splits.length;

for (m = 0; m < n1; m++) {

st8.executeUpdate("UPDATE table SET " + metadata.getColumnName(o) + "='" + splits[m] + "' WHERE Sno='"+q+"'");
o++;
}

q++;
out.println("<br>");
}

表结构

+--------+--------+--------+--------+---------+-----------+
|Sno | col1 | col2 | col3 | col4 | col5 |
+--------+--------+--------+--------+---------+-----------+
| 0 | NULL | NULL | NULL | NULL | NULL |
+--------+--------+--------+--------+---------+-----------+
| 1 | NULL | NULL | NULL | NULL | NULL |

最佳答案

使用

st8.executeUpdate("UPDATE `table` SET " + metadata.getColumnName(o) + "='" + splits[m] + "' WHERE Sno='"+q+"'");

因为 table 是保留字。

您可能还会遇到其他问题,但这肯定会破坏它。

并且...您确实应该正确参数化您的查询。它也可能因为带有单引号的输入等而中断。

关于java - 无法使用java更新mysql中的列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19615078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com