vault backup: 2026-05-17 00:06:11
This commit is contained in:
+35
-21
@@ -246,30 +246,44 @@ q.Order("created_at DESC").Limit(10).Find(&activeUsers)
|
||||
```mermaid
|
||||
flowchart TD
|
||||
Start["收到查询请求"] --> Type{"条件类型"}
|
||||
|
||||
Type --> "精确匹配" --> Exact["Where field, value"]
|
||||
Type --> "范围查询" --> RangeQ{"BETWEEN 还是 GT/LT"}
|
||||
RangeQ --> "GORM 自带" --> Between["BETWEEN ? AND ?"]
|
||||
RangeQ --> "自定义 < >" --> LtGt["field > ? AND field < ?"]
|
||||
Type --> "集合" --> SetQ{"IN 还是 NOT IN"}
|
||||
SetQ --> "IN" --> InOp["In field VALUES"]
|
||||
SetQ --> "NOT IN" --> NotInOp["Not In field VALUES"]
|
||||
Type --> "模糊" --> LikeQ{"前缀/后缀/全匹配"}
|
||||
LikeQ --> "前缀 %" --> PrefixLike["LIKE 'prefix%'"]
|
||||
LikeQ --> "后缀 %" --> SuffixLike["LIKE '%suffix'"]
|
||||
LikeQ --> "全匹配 %" --> FullLike["LIKE '%keyword%'"]
|
||||
Type --> "NULL检查" --> NullQ{"IS NULL 还是 NOT"}
|
||||
NullQ --> "IS NULL" --> IsNullOp["IS NULL"]
|
||||
NullQ --> "IS NOT NULL" --> IsNotNullOp["IS NOT NULL"]
|
||||
Type --> "复合条件" --> AndQ{"简单AND 还是 OR混合"}
|
||||
AndQ --> "简单AND" --> SimpleAnd["连续 Where 调用"]
|
||||
AndQ --> "OR混合" --> OrChain["Where + Or 链式"]
|
||||
Type --> "特殊SQL" --> Raw["Raw + Expr"]
|
||||
|
||||
|
||||
Type --> Exact["精确匹配\nWhere field, value"]
|
||||
Type --> RangeQ{"范围查询\nBETWEEN 还是 GT/LT"}
|
||||
RangeQ --> Between["GORM 自带\nBETWEEN ? AND ?"]
|
||||
RangeQ --> LtGt["自定义 < >\nfield > ? AND field < ?"]
|
||||
Type --> SetQ{"集合\nIN 还是 NOT IN"}
|
||||
SetQ --> InOp["IN\nIn field VALUES"]
|
||||
SetQ --> NotInOp["NOT IN\nNot In field VALUES"]
|
||||
Type --> LikeQ{"模糊匹配\n前缀 / 后缀 / 全匹配"}
|
||||
LikeQ --> PrefixLike["LIKE 'prefix%'"]
|
||||
LikeQ --> SuffixLike["LIKE '%suffix'"]
|
||||
LikeQ --> FullLike["LIKE '%keyword%'"]
|
||||
Type --> NullQ{"NULL 检查\nIS NULL 还是 NOT"}
|
||||
NullQ --> IsNullOp["IS NULL"]
|
||||
NullQ --> IsNotNullOp["IS NOT NULL"]
|
||||
Type --> AndQ{"复合条件\n简单 AND 还是 OR 混合"}
|
||||
AndQ --> SimpleAnd["简单 AND\n连续 Where 调用"]
|
||||
AndQ --> OrChain["OR 混合\nWhere + Or 链式"]
|
||||
Type --> Raw["特殊 SQL\nRaw + Expr"]
|
||||
|
||||
style Start fill:#4FC08D,color:#fff
|
||||
style Exact fill:#3B82F6,color:#fff
|
||||
style LikeOp fill:#F59E0B,color:#000
|
||||
style Between fill:#3B82F6,color:#fff
|
||||
style LtGt fill:#3B82F6,color:#fff
|
||||
style InOp fill:#3B82F6,color:#fff
|
||||
style NotInOp fill:#3B82F6,color:#fff
|
||||
style LikeQ fill:#F59E0B,color:#000
|
||||
style PrefixLike fill:#F59E0B,color:#000
|
||||
style SuffixLike fill:#F59E0B,color:#000
|
||||
style FullLike fill:#F59E0B,color:#000
|
||||
style NullQ fill:#8B5CF6,color:#fff
|
||||
style IsNullOp fill:#8B5CF6,color:#fff
|
||||
style IsNotNullOp fill:#8B5CF6,color:#fff
|
||||
style AndQ fill:#EC4899,color:#fff
|
||||
style SimpleAnd fill:#EC4899,color:#fff
|
||||
style OrChain fill:#EC4899,color:#fff
|
||||
style Raw fill:#EC4899,color:#fff
|
||||
style Start fill:#4FC08D,color:#fff
|
||||
```
|
||||
|
||||
## 常见坑点速查
|
||||
|
||||
Reference in New Issue
Block a user