@@ -35,7 +35,7 @@ type Data struct {
35
35
type table struct {
36
36
Name string
37
37
SQL string
38
- Values string
38
+ Values [] string
39
39
}
40
40
41
41
type metaData struct {
@@ -81,7 +81,10 @@ DROP TABLE IF EXISTS {{ .Name }};
81
81
LOCK TABLES {{ .Name }} WRITE;
82
82
/*!40000 ALTER TABLE {{ .Name }} DISABLE KEYS */;
83
83
{{- if .Values }}
84
- INSERT INTO {{ .Name }} VALUES {{ .Values }};
84
+ INSERT INTO {{ .Name }} VALUES
85
+ {{- range $index, $element := .Values -}}
86
+ {{- if $index }},{{ else }} {{ end -}}{{ $element }}
87
+ {{- end -}};
85
88
{{- end }}
86
89
/*!40000 ALTER TABLE {{ .Name }} ENABLE KEYS */;
87
90
UNLOCK TABLES;
@@ -262,25 +265,25 @@ func (data *Data) createTableSQL(name string) (string, error) {
262
265
return tableSQL .String , nil
263
266
}
264
267
265
- func (data * Data ) createTableValues (name string ) (string , error ) {
268
+ func (data * Data ) createTableValues (name string ) ([] string , error ) {
266
269
rows , err := data .Connection .Query ("SELECT * FROM `" + name + "`" )
267
270
if err != nil {
268
- return "" , err
271
+ return nil , err
269
272
}
270
273
defer rows .Close ()
271
274
272
275
columns , err := rows .Columns ()
273
276
if err != nil {
274
- return "" , err
277
+ return nil , err
275
278
}
276
279
if len (columns ) == 0 {
277
- return "" , errors .New ("No columns in table " + name + "." )
280
+ return nil , errors .New ("No columns in table " + name + "." )
278
281
}
279
282
280
283
dataText := make ([]string , 0 )
281
284
tt , err := rows .ColumnTypes ()
282
285
if err != nil {
283
- return "" , err
286
+ return nil , err
284
287
}
285
288
286
289
types := make ([]reflect.Type , len (tt ))
@@ -304,7 +307,7 @@ func (data *Data) createTableValues(name string) (string, error) {
304
307
}
305
308
for rows .Next () {
306
309
if err := rows .Scan (values ... ); err != nil {
307
- return "" , err
310
+ return dataText , err
308
311
}
309
312
310
313
dataStrings := make ([]string , len (columns ))
@@ -341,5 +344,5 @@ func (data *Data) createTableValues(name string) (string, error) {
341
344
dataText = append (dataText , "(" + strings .Join (dataStrings , "," )+ ")" )
342
345
}
343
346
344
- return strings . Join ( dataText , "," ) , rows .Err ()
347
+ return dataText , rows .Err ()
345
348
}
0 commit comments