sql - SQL 查询在 Spring Boot 应用程序中返回 void 但在 H2 中没有
问题描述
晚上好,
我确定我错过了有关如何在 Spring Boot 应用程序中编写查询的内容,希望得到纠正。
h2-console 中的 SQL 查询:
SELECT customer_id FROM customers WHERE first_name = 'morton';
返回“1”
在 Spring 应用程序中:
@Query(nativeQuery = true, value = "SELECT 'customer_id' FROM customers WHERE 'first_name' = ?1")
public Long findIdByName(String name);
返回空
错误文字:
org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "SELECT 'customer_id' FROM CUSTOMERS WHERE 'first_name' = %[*]?"; expected "ALL, ANY, SOME"; SQL statement:
SELECT 'customer_id' FROM customers WHERE 'first_name' = %? [42001-200]
第二个查询有什么问题?
如果您需要完整的堆栈跟踪,请告诉我。
谢谢
解决方案
从查询中删除单个引号。
改变
SELECT 'customer_id' FROM customers WHERE 'first_name' = ?1
至
SELECT customer_id FROM customers WHERE first_name = ?1
推荐阅读
- windows - Visual Studio 正在寻找 LLVM.lib,但 LLVM 官方二进制文件中甚至不存在具有该名称的文件。我应该在哪里寻找它?
- sql - 一列中多行的总和
- mysql - Express JS 查询错误处理不起作用
- sql - SQL Server 查询同一列上的多个条件
- sql-server - 通过 SQL Server XML 函数处理 XML prolog
- python - 重塑包含 2D 数据的 1D numpy 数组
- node.js - Node Js 运行真实浏览器并连接到它
- python - 图表标题一一打印
- python - 根据某些值合并两个 Python pandas 数据框行
- reactjs - 有没有办法指定我想在哪里插入内容(在另一个组件的中间)?