gorm에서 'IN'을 사용하는 where 절에 대한 이중 괄호

WBOY
풀어 주다: 2024-02-10 08:12:08
앞으로
824명이 탐색했습니다.

在 gorm 处使用“IN”的 where 子句的双括号

PHP 편집자 Xinyi는 gorm의 중요한 기능, 즉 gorm의 "IN" where 절에 이중 괄호를 제공합니다. 이 기능을 사용하면 특정 필드에 여러 값이 있는지 보다 편리하게 쿼리할 수 있고, 쿼리문 작성이 단순화되며, 코드의 가독성과 유지 관리성이 향상됩니다. 이중 대괄호를 사용하면 쿼리할 값이 포함된 where 절에 슬라이스를 전달할 수 있으며, gorm은 자동으로 이를 "IN" 절로 변환하여 쿼리 작업을 수행합니다. 이 기능은 실제 개발에서 매우 실용적이며 복잡한 데이터 쿼리 요구 사항을 보다 효율적으로 처리하는 데 도움이 됩니다.

질문 내용

gorm

을 통해 데이터베이스의 값을 업데이트하기 위해 where 절을 사용하고 있습니다.

db.Session(&gorm.Session{FullSaveAssociations: true}).Where("id IN (?)", ids).Updates(users)

ID는 ID의 일부이고 사용자는 구조입니다

문제는 이 오류가 발생한다는 것입니다

错误1241(21000):操作数应包含1列

gorm이 생성한 SQL은 이렇습니다. 이중 괄호가 생성되어 이 오류가 발생하는 것 같습니다. 하지만 이 문제를 해결하는 방법을 모르겠습니다

으아악

편집 1

(?)에서 ()를 제거했는데도 같은 효과가 나타났습니다

db.Session(&gorm.Session{FullSaveAssociations: true}).Where("id IN ?", ids).Updates(users)

으아악

错误1241(21000):操作数应包含1列

해결 방법

여기서https://github.com/go-gorm/gorm/issues/5014https://gorm.io/docs/sql_builder에서 답을 찾았습니다. html#절

이 절을 사용하면 다음과 같은 일을 할 수 있습니다

으아악

위 내용은 gorm에서 'IN'을 사용하는 where 절에 대한 이중 괄호의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!