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

MySQL查询中输入参数的语法

陆野
2023-03-14
问题内容

我们最近将数据库从MSSQL切换到MySQL,使用参数的查询不再起作用。

这是MSSQL中的查询示例:

SELECT * FROM users u WHERE u.ID = :id

通常,参数浏览器会弹出并询问:id的值,但是在MySQL中,我会收到此错误:

您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在’:id’附近使用正确的语法

我尝试使用@或?代替:,它不起作用。

在此先感谢您的帮助。


问题答案:

语法不一样

set @id:=123;
SELECT * FROM users u WHERE u.ID = @id;

用户定义变量的文档



 类似资料:
  • 是否可以将输入参数传递到游标SELECT语句WHERE子句中? 由于某种原因,我想它不起作用了。 以下是存储过程:

  • 问题内容: 我很难使用MySQLdb模块将信息插入到我的数据库中。我需要在表中插入6个变量。 有人可以帮我这里的语法吗? 问题答案: 提防对SQL查询使用字符串插值,因为它不能正确地转义输入参数,并使您的应用程序容易受到SQL注入漏洞的影响。 这种差异看似微不足道,但实际上它是巨大的 。 不正确(存在安全问题) 正确(带有转义符) 这增加了混乱,即用于绑定SQL语句中的参数的修饰符在不同的DB A

  • 我正在使用Apollo Angular并托管一个GraphQL驱动的服务器。我试图实现的请求很简单。我需要传递一个对象作为我请求的查询参数。这是我的请求: 查询定义为: 服务器上的我的架构定义为: 当我的解析器功能 我想知道是否允许输入作为查询中的参数,如果不允许,我应该使用什么样的模式或实践。 如果可能,我不希望我的在代码中显式地包含每个参数。 非常感谢。 编辑:已解决,解析程序函数中的行为,从

  • 问题内容: 我很难使用MySQLdb模块将信息插入到数据库中。我需要在表中插入6个变量。 有人可以帮我这里的语法吗? 问题答案: 提防对SQL查询使用字符串插值,因为它不能正确地转义输入参数,并使您的应用程序容易受到SQL注入漏洞的影响。这种差异看似微不足道,但实际上它是巨大的。 不正确(存在安全问题) 正确(带有转义符) 这增加了混淆,用于绑定SQL语句中的参数的修饰符在不同的DB API实现之

  • 我有这个问题。我已经有了MySQL中的数据库,现在我想让用户选择数据,如果数据存在,程序运行到“true”和“false”的情况下,其余的。我将MySQL查询放入Java中的if语句中。但当我把它放进去时,它会引起一个问题,无论我选择什么数据,它总是返回“true”,而不会遇到“false”的情况。当我尝试使用.isNullOrEmpty时,它总是返回“false”。在这种情况下还有其他解决方案吗

  • 我正在使用JDBC尝试从以下表中选择: 我想检查是否存在具有特定login和PASSWORDMD5值的行,如下所示: 但当我调用时,我会得到以下错误: com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception:sun.reflect.nativeConstructorAccessorImpl.newInstance(nativeConstr