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/5014및https://gorm.io/docs/sql_builder에서 답을 찾았습니다. html#절
이 절을 사용하면 다음과 같은 일을 할 수 있습니다
으아악위 내용은 gorm에서 'IN'을 사용하는 where 절에 대한 이중 괄호의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!