我需要插入或更新具有相同名称但ID不同的多行。这是一个示例表
https://intx.mydomain.com/default
上表在三行上显示了相同的event_name EPL,但具有不同的event_id。 我需要根据不同的event_id插入或更新它们, 但这会触发event_name上的重复条目。
order | event_name | event_id | sport_id
1 | EPL | 46 | 1
2 | EPL | 47 | 1
3 | EPL | 48 | 1
4 | ISL | 59 | 1
在这种情况下,DUPLICATE KEY UPDATE或LAST_INSERT_ID()似乎不起作用,因为我需要插入预定义的值而不是增量值。
答案 0 :(得分:0)
在Process p;
StringBuffer output = new StringBuffer();
try {
p = Runtime.getRuntime().exec("java tabula-1.0.2-jar-with-dependencies.jar");
BufferedReader reader = new BufferedReader(
new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = reader.readLine()) != null) {
output.append(line + "\n");
p.waitFor();
}
}
catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
String response = output.toString();
hw.setText(response);
查询的Where
条件中,引号之间有一个多余的空格:Select
。即使'$event_id '
实际上存在,这也导致查询不返回任何结果。这就是为什么您的$event_id
条件总是尝试执行if
,导致重复输入错误的原因。
将此作为课程开始使用Prepared Statements。此外,您的查询容易受到SQL injection相关攻击。
请尝试以下操作(利用准备好的语句):
Insert