mysql - 为什么这个 SQL 在 MySQL 中执行而不是通过 Eclipse?

标签 mysql jdbc

我在 MYSQL 中有下表:

  CREATE TABLE 't001_prospeccao' (
  'pro_id' bigint(20) NOT NULL AUTO_INCREMENT,
  'pro_cliente' bigint(20) NOT NULL,
  'pro_produto' bigint(20) NOT NULL,
  'pro_status' int(11) DEFAULT NULL,
  'pro_vlr_entabulado' double DEFAULT NULL,
  'pro_vlr_contratado' double DEFAULT NULL,
  'pro_vlr_utilizado' double DEFAULT NULL,
  'pro_obs' varchar(255) DEFAULT NULL,
  'pro_dt_visita' datetime DEFAULT NULL,
  'pro_dt_originacao' datetime DEFAULT NULL,
  'pro_protocolo' double DEFAULT NULL,
  'pro_correio' double DEFAULT NULL,
  'pro_dt_status' datetime DEFAULT NULL,
  'pro_funci' bigint(20) DEFAULT NULL,
  PRIMARY KEY ('pro_id'),
  UNIQUE KEY 'id_UNIQUE' ('pro_id')
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1

以及下面的INSERT语句,在MySQL控制台中正常执行:

INSERT INTO t001_prospeccao (pro_cliente,pro_produto) VALUES (123456789,111)

但是,在 Eclipse 中运行这段代码时,出现错误:

 String sql = "INSERT INTO t001_prospeccao (pro_cliente,pro_produto) VALUES (?,?);";

            PreparedStatement stmt = connection.prepareStatement(sql);

            try {
                stmt.setLong(1, p.getCliente().getMci());
                stmt.setLong(2, p.getProduto().getCod());

                stmt.execute(sql);

            } catch (SQLException e) {
                throw new RuntimeException(e);
            } finally {
                stmt.close();
            }

错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?,?)' at line 1

来自 stmt 对象的数据:

INSERT INTO t001_prospeccao (pro_cliente,pro_produto) VALUES (123456789,111)

我应该做错什么?提前致谢。

最佳答案

您正在使用 Statement.execute(String),您应该在其中使用 PreparedStatement.execute() 方法:

stmt.execute(sql);

那一行应该是:

stmt.execute();

关于mysql - 为什么这个 SQL 在 MySQL 中执行而不是通过 Eclipse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9160870/

相关文章:

php - mySql 真实转义字符串返回空白

php - 如何使一个计数函数在另一个计数函数中工作

jdbc - 使用CDH4+Cloudera Manager时JDBC驱动放在哪里?

java - oracle Jdbc更新语句返回零

java - 如何将分页应用于带有连接的 SQL 查询的结果?

java - 如何有效地从 SQL Server 读取 15+ 百万条记录,进行一些处理,然后将它们写入平面文件?

php - 如何根据数据库下拉列表的 mysql 计数来限制或停止表单提交?

mysql查询查找具有类(class)组合的学生

php - 具有多对多关系的 Doctrine Two Entities 中的问题,cli 工具在创建模式时报告错误(SchemaException)

java - Oracle 僵尸连接与 Tomcat 9