@@ -116,25 +116,30 @@ func placeholders(l []string) string {
116
116
func createInsertSQL (st * Struct ) string {
117
117
var sql string
118
118
sql = "INSERT INTO " + st .Table .Name + " ("
119
- var colNames []string
120
- for _ , c := range st .Table .Columns {
121
- if c .IsPrimaryKey && st .Table .AutoGenPk {
122
- continue
123
- } else {
124
- colNames = append (colNames , c .Name )
119
+
120
+ if len (st .Table .Columns ) == 1 && st .Table .Columns [0 ].IsPrimaryKey && st .Table .AutoGenPk {
121
+ sql = sql + st .Table .Columns [0 ].Name + ") VALUES (DEFAULT)"
122
+ } else {
123
+ var colNames []string
124
+ for _ , c := range st .Table .Columns {
125
+ if c .IsPrimaryKey && st .Table .AutoGenPk {
126
+ continue
127
+ } else {
128
+ colNames = append (colNames , c .Name )
129
+ }
125
130
}
126
- }
127
- sql = sql + flatten (colNames , ", " ) + ") VALUES ("
131
+ sql = sql + flatten (colNames , ", " ) + ") VALUES ("
128
132
129
- var fieldNames []string
130
- for _ , f := range st .Fields {
131
- if f .Column .IsPrimaryKey && st .Table .AutoGenPk {
132
- continue
133
- } else {
134
- fieldNames = append (fieldNames , f .Name )
133
+ var fieldNames []string
134
+ for _ , f := range st .Fields {
135
+ if f .Column .IsPrimaryKey && st .Table .AutoGenPk {
136
+ continue
137
+ } else {
138
+ fieldNames = append (fieldNames , f .Name )
139
+ }
135
140
}
141
+ sql = sql + placeholders (fieldNames ) + ")"
136
142
}
137
- sql = sql + placeholders (fieldNames ) + ")"
138
143
139
144
if st .Table .AutoGenPk {
140
145
sql = sql + " RETURNING "
0 commit comments