当前位置: 首页 > 面试题库 >

为什么我的预处理语句出现语法错误?[复制]

羊和光
2023-03-14
问题内容

这个问题已经在这里有了答案

prepareStatement语法错误 (2个答案)

2年前关闭。

我已经编写了一条准备好的语句,但是它在?处给出了语法错误。我无法理解到底出了什么问题,它应该传递电影名称并作为该电影的导演获得结果

stmt=getConnection().createStatement();
        String sql="SELECT directors FROM moviedata WHERE moviedata.title = ?";
        PreparedStatement preparedStatement=conn.prepareStatement(sql);
        preparedStatement.setString(1,movieName);
        rs=preparedStatement.executeQuery(sql);

问题答案:

问题在这里:

rs=preparedStatement.executeQuery(sql);

您不应该将SQL传递StringexecuteQuery(),因为已准备好的语句已经包含SQL
String,且?占位符由的值代替movieName

使用:

rs=preparedStatement.executeQuery();


 类似资料:
  • 问题内容: 我已经编写了一条准备好的语句,但是它在?处给出了语法错误。我无法理解到底出了什么问题,它应该传递电影名称并作为该电影的导演获得结果 问题答案: 问题在这里: 您不应该将SQL传递给,因为准备好的语句已经包含SQL ,且占位符由的值代替。 用:

  • 我已经写了一个准备好的语句,但它给出了一个语法错误?。我不明白出了什么问题。它应该传递一个电影名称,并作为该电影的导演获得结果

  • 本文介绍了如何使用 DM 来处理出错的 SQL 语句。 目前,TiDB 并不完全兼容所有的 MySQL 语法(详见 TiDB 已支持的 DDL 语句)。当使用 DM 从 MySQL 迁移数据到 TiDB 时,如果 TiDB 不支持对应的 SQL 语句,可能会造成错误并中断迁移任务。在这种情况下,DM 提供 handle-error 命令来恢复迁移。 使用限制 如果业务不能接受下游 TiDB 跳过异

  • 如果数组中的前4个元素之一是9,则该方法应该返回true。数组长度可能小于4。在我的方法中,由于某种原因,我不断得到“缺少返回语句错误”。

  • MySQL 5.1对服务器一方的预制语句提供支持。如果您使用合适的客户端编程界面,则这种支持可以发挥在MySQL 4.1中实施的高效客户端/服务器二进制协议的优势。候选界面包括MySQL C API客户端库(用于C程序)、MySQL Connector/J(用于Java程序)和MySQL Connector/NET。例如,C API可以提供一套能组成预制语句API的函数调用。请参见25.2.4节,

  • 问题内容: 好的,我有一个非常简单的mysql数据库,但是当我尝试通过mysql-admin运行此查询时,出现奇怪的错误 INSERT INTO自定义报告(研究,类型,模式,选择,描述)VALUES(‘1’,‘2’,‘3’,‘4’,‘5’); 错误: 1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以便在“选择,描述” VALUES(“ 1”,“ 2”,“