当前位置: 首页 > 知识库问答 >
问题:

executeUpdate()引发MySQLSyntaxErrorException

柳俊逸
2023-03-14

我的目标是向已创建的现有表中添加一个新行。但是,我得到以下错误。

Connection conn = null;
    PreparedStatement ps = null;

    Scanner in = new Scanner(System.in);

    System.out.print("Enter the student number: ");
    int studentNO = in.nextInt();
    System.out.print("Enter the first name: ");
    String fName = in.next();
    System.out.print("Enter the last name: ");
    String lName = in.next();
    System.out.print("Enter the telephone number: ");
    int telNO = in.nextInt();

    try {
        conn = DriverManager.getConnection(CONN_STRING, USERNAME, PASSWORD);
        System.out.println("Connected");

        //Executing a query
        String sql_query = "INSERT INTO registration (ID, First Name, Last Name, Tel No.) VALUES (?, ?, ?, ?)";
        System.out.println("Table found");

        ps = conn.prepareStatement(sql_query);
        ps.setInt(1, studentNO); 
        ps.setString(2, fName);
        ps.setString(3, lName);
        ps.setInt(4, telNO);
        System.out.println("Values added");

        ps.executeUpdate();
        System.out.println("Values updated");

    }

输入学号:1234567

输入名字:Hello

输入姓氏:World

增加的价值

com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception...

我明白这可能是一个非常愚蠢的问题,但我刚刚开始使用数据库,即使在查看了这里发布的大多数类似问题后,也无法找出代码哪里有问题。

共有1个答案

充星腾
2023-03-14

试试这个

INSERT INTO registration (`ID`, `First Name`, `Last Name`, `Tel No.`) VALUES (?, ?, ?, ?)

带有反勾号的列名。

 类似资料:
  • 我正在比较旧方式和使用Hibernate之间的数据库“更新”性能。 这是我的数据库结构:document->code->code_details。父表和子表之间存在一对多的关系。 我对其进行了分解,并注意到在Hibernate版本中,大多数时间都在占用“query.executeUpdate()”->954毫秒和“hibernateTransaction.commit()”->750毫秒。 如何在

  • 问题内容: 我对此方法有一个疑问:st显然是一个Statement对象。直接从这个甲骨文的Java教程: execute:如果查询返回的第一个对象是ResultSet对象,则返回true。如果查询可以返回一个或多个ResultSet对象,请使用此方法。通过重复调用Statement.getResutSet来检索从查询返回的ResultSet对象。 “ 一个或多个ResultSet对象 ” 是什么意

  • 除了使用execute方法执行不返回结果集的SQL语句外,还可以使用executeUpdate方法来完成同样的工作。executeUpdate()方法的定义如下: int executeUpdate(String sql) throws SQLException; 在2.2.1节曾讲到executeQuery方法不能执行象INSERT、UPDATE一样的不返回查询结果的语句。但这种说法并不严谨。这

  • 问题内容: create_PaperBean.java 我正在使用struts,当执行该bean时,会在数据库中创建一个表,但是insert的值仍为零!因此,我无法进入正确的页面来进一步运行Web应用程序。我究竟做错了什么? 问题答案: 要么返回SQL数据操纵语言(DML)语句的行数的SQL语句回报 什么 。 创建表既不是INSERT也不是UPDATE,因此正常接收是因为没有行受到影响。

  • SQLException:不能使用executeQuery()发出数据操作语句。在com.mysql.jdbc.sqlerror.createsQlException(sqlerror.java:1078)在com.mysql.jdbc.sqlerror.createsQlException(sqlerror.java:989)在com.mysql.jdbc.sqlerror.createsQlE

  • 问题内容: 我只想从mongodb信息中处理对象,但是当我执行此方法时,要使一些对象成为对象,但总是返回该错误java.util.NoSuchElementException。 问题答案: 可能的问题是,您在一个循环中调用了3次方法。您应该调用一次并将其结果存储在变量中,因为它会检索迭代中的下一个元素