php エディタ Xinyi は、gorm の重要な機能、つまり gorm で "IN" を使用する where 句の二重括弧を提供します。この機能により、特定のフィールドに複数の値があるかどうかをより簡単にクエリできるようになり、クエリ ステートメントの記述が簡素化され、コードの可読性と保守性が向上します。二重括弧を使用すると、クエリ対象の値を含むスライスを where 句に渡すことができ、gorm はそれを自動的に "IN" 句に変換してクエリ操作を実行します。この機能は実際の開発において非常に実用的で、複雑なデータ クエリ要件をより効率的に処理するのに役立ちます。
Where句を使用してgorm経由でデータベースの値を更新しています
db.Session(&gorm.Session{FullSaveAssociations: true}).Where("id IN (?)", ids).Updates(users)
id は id の一部であり、user は構造です
問題は、このエラーが発生することです
エラー 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 中国語 Web サイトの他の関連記事を参照してください。