在同一表格中插入或更新多个相同的名称但不同的ID

时间:2018-10-28 06:17:41

标签: php mysql mysqli

我需要插入或更新具有相同名称但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()似乎不起作用,因为我需要插入预定义的值而不是增量值。

1 个答案:

答案 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