【问题标题】:Why I cannot put where in SQL?为什么我不能把 SQL 放在哪里?
【发布时间】:2021-12-05 07:48:09
【问题描述】:

我正在尝试从图片中的表格向表格插入子级别,但为什么我不能使用 where?

String sql = "insert into BE_Tracker(sub_item) values(?) where id="+id+" ";
PreparedStatement st = con.prepareStatement(sql);
st.setString(2,addsubItem);

【问题讨论】:

  • INSERT 语法不能有WHERE 子句
  • 因为这没有意义。也许你的意思是update?或者您还需要插入id。不知道你的表结构很难回答。
  • 你可以用 update 来做到这一点,因为你已经插入了它。

标签: java sql


【解决方案1】:

INSERT (...) VALUES (...) 查询不能与查找选项WHERE ... = ... 一起使用。

  1. Insert 表上的行 BE_Tracker
  2. 使用'WHERE' 选项和'SELECT', 'UPDATE''DELETE' 在表BE_Tracker 中查找行。

【讨论】:

    【解决方案2】:

    您不能以这种方式在插入查询中使用 where。

    你可以像那样使用它 插入 MyTable1 选择 id,name from MyTable2 where id >5

    【讨论】:

      【解决方案3】:

      听起来你真的很想要UPDATE

      String sql = "UPDATE BE_Tracker SET sub_item = ? WHERE id = ?";
      PreparedStatement st = con.prepareStatement(sql);
      st.setString(1, addsubItem);
      st.setString(2, id);
      st.executeUpdate();
      

      【讨论】:

      • 我正在尝试为子项目添加另一行。假设我先插入汽车,然后我想在同一 ID 下添加另一排摩托车
      • 我已经回答了你原来的问题。如果您有后续跟进,请提出新问题。
      猜你喜欢
      • 1970-01-01
      • 2012-10-14
      • 2013-09-21
      • 2020-09-30
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      • 2016-08-25
      相关资源
      最近更新 更多