diff --git a/data/view/model/model.go b/data/view/model/model.go index 6b477c1..04194f9 100644 --- a/data/view/model/model.go +++ b/data/view/model/model.go @@ -245,6 +245,7 @@ func (m *_Model) generateFunc() (genOut []GenOutInfo) { } else { typeName := getTypeName(el.Type, el.IsNull) isMulti := (len(el.Index) == 0) + isUniquePrimary := false for _, v1 := range el.Index { if v1.Multi { isMulti = v1.Multi @@ -253,6 +254,7 @@ func (m *_Model) generateFunc() (genOut []GenOutInfo) { switch v1.Key { // case ColumnsKeyDefault: case ColumnsKeyPrimary: // primary key.主键 + isUniquePrimary = !v1.Multi buildFList(&primary, ColumnsKeyPrimary, v1.KeyName, typeName, el.Name) case ColumnsKeyUnique: // unique key.唯一索引 buildFList(&unique, ColumnsKeyUnique, v1.KeyName, typeName, el.Name) @@ -263,6 +265,10 @@ func (m *_Model) generateFunc() (genOut []GenOutInfo) { } } + if isMulti && isUniquePrimary { // 主键唯一 + isMulti = false + } + data.Em = append(data.Em, EmInfo{ IsMulti: isMulti, Notes: fixNotes(el.Notes),